用BufferedReader读取txt文件

如果这样写的话

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:中国好声音

                中国好嗓门


你可能感兴趣的:(用BufferedReader读取txt文件)