【发布时间】:2013-10-06 08:30:15
【问题描述】:
我在从文件中读取数据时遇到问题。 在每一行(除了第一行)第一个字符都丢失了!
也许我编码有问题,但我尝试设置 UTF-8、UniCode、ANSI,结果一样快...
代码:
try (FileReader fr = new FileReader("123.txt")) {
// create a buffer for file reader
BufferedReader br = new BufferedReader(fr);
do {
input = br.readLine();
System.out.println(input);
} while (br.read() != -1);
} catch (IOException ex) {
System.out.println("IOex : " + ex);
}
控制台:
2
呸呸呸
FAF9F5
FDBCA1
FBCCB8
但必须是:
2
#FFFFFF
2
#FAF9F5
6
#FDBCA1
9
#FBCCB8
9
只有当我在行前加上斜线时才有效。
2
\#FFFFFF
\2
\#FAF9F5
\6
\#FDBCA1
\9
\#FBCCB8
\9
会是什么?
谢谢!
【问题讨论】:
-
你为什么要检查以
\n结尾的input?不能,因为您使用的是readLine!请显示文件的内容。 -
我想,问题就在那里。没错)
-
您在循环结束时读取一个字节并将其丢弃。你意识到
read()实际上确实读取了一个字节。
标签: java file-io bufferedreader