如果这样写的话
public static void main(String[] args) throws IOException {
FileReader fr = new FileReader("D:\\Music\\xuxin.txt");
BufferedReader bf = new BufferedReader(fr);
int c = -1;
while ((c = bf.read()) != -1) {
System.out.println(bf.readLine());
}
Output:国好声音
国好嗓门
发现每行的第一个字符都没有显示出来,原因呢:b=bf.read())!=-1 每次都会先读取一个字节出来,所以后面的bf.readLine());读取的就是每行少一个字节
完整正确程序是:
public static void main(String[] args) throws IOException {
FileReader fr = new FileReader("D:\\Music\\xuxin.txt");
BufferedReader bf = new BufferedReader(fr);
String b = null;
while ((b = bf.readLine()) != null) {
System.out.println(b);
}
}
Output:中国好声音
中国好嗓门