使用 BufferedReader 识别 txt 文件的结尾
Use BufferedReader to recognize the end of a txt file
我编写了使用 BufferedReader 和 read() 的代码,一次一个字符地访问和读取 txt 文件中的文本。预期的结果是从 txt 文件到控制台一次打印一个单词。我目前的困难是,一旦读完整个文件,当我只想读一次时,它似乎一遍又一遍地循环遍历 txt 文件。如何防止代码重复该过程?有没有我可以让 while 循环识别的值?
https://i.stack.imgur.com/ABPQT.png
BufferedReader.read()
returns一个int
,当你到达文件末尾时,它的值为-1。所以:
int read;
// Remove the reader.read() before the loop.
while ((read = reader.read()) >= 0) {
char held = (char) read;
// Rest of the loop.
// Remove the reader.read() at the end of the loop.
}
我编写了使用 BufferedReader 和 read() 的代码,一次一个字符地访问和读取 txt 文件中的文本。预期的结果是从 txt 文件到控制台一次打印一个单词。我目前的困难是,一旦读完整个文件,当我只想读一次时,它似乎一遍又一遍地循环遍历 txt 文件。如何防止代码重复该过程?有没有我可以让 while 循环识别的值?
https://i.stack.imgur.com/ABPQT.png
BufferedReader.read()
returns一个int
,当你到达文件末尾时,它的值为-1。所以:
int read;
// Remove the reader.read() before the loop.
while ((read = reader.read()) >= 0) {
char held = (char) read;
// Rest of the loop.
// Remove the reader.read() at the end of the loop.
}