public class testBuf {
static String path = "C:/cheaters.log";
public static void main(String[] args) throws IOException {
FileReader fr = new FileReader(path);
BufferedReader br = new BufferedReader(fr);
String line = br.readLine();
int totword = 0;
while (line != null) {
String a[] = line.split(" ");
for (int i = 0; i < a.length; i++) {
if (a[i].length() > 0)
totword += 1;
}
**line = br.readLine();**
}
System.out.print("Total number of words" + totword);
br.close();
}
}
Я не понимаю, почему мы должны написать еще один код «line = br.readLine» в цикле здесь? Я думаю, что это не обязательно, но программа не будет работать, когда я попытаюсь удалить ее. Пожалуйста, объясните это мне;)Как работает readLine?
Вы можете написать это более красиво с помощью инструкции do-while. –
Это 2015 год; используйте ['Files.newBufferedReader()'] (http://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html#newBufferedReader-java.nio.file.Path-java .nio.charset.Charset-). – fge