如何判断Java中的Reader是否到达了文件末尾(EOF)?

bluesky1年前 ⋅ 241 阅读

ChatGPT的回答仅作参考:

在Java中,可以使用Reader类的read()方法来判断是否到达了文件末尾(EOF)。当read()方法返回-1时,表示已经到达了文件末尾。

以下是一个示例代码:

```java
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;

public class Main {
    public static void main(String[] args) {
        try (Reader reader = new FileReader("file.txt")) {
            int data;
            while ((data = reader.read()) != -1) {
                // 处理读取到的数据
                System.out.print((char) data);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
```

在上面的代码中,使用了一个while循环来读取文件中的数据,每次调用read()方法读取一个字符,并将其赋值给变量data。如果读取到的字符不等于-1,表示还没有到达文件末尾,继续循环读取下一个字符。如果读取到的字符等于-1,表示已经到达了文件末尾,循环结束。

注意:在使用完Reader后,需要调用close()方法来关闭流,释放资源。上面的代码使用了try-with-resources语句,可以自动关闭Reader。

全部评论: 0

    相关推荐