简体   繁体   English

BufferedReader.readLine()切断了行的开头

[英]BufferedReader.readLine() cuts off beginning of the line

I have a problem with reading a file. 我在阅读文件时遇到问题。

BufferedReader in = new BufferedReader(
                      new InputStreamReader(
                         new FileInputStream(file), "UTF-8"));
while ((line = in.readLine()) != null) {
   parseLine(line);
}

Trouble causing line:
 a:38:{s:10:"aaaaaaaaaa";s:6:"215302";s:4:"bbbb";s:9:"新村莊";s:10:"cccccccccc";s:6:"330345";s:6:"dddddd";s:3:"-68";s:6:"eeeeee";s:3:"-12";s:9:"fffffffff";s:4:"3470";s:7:"ggggggg";s:1:"3";s:10:"hhhhhhhhhh";s:1:"2";s:7:"iiiiiii";s:3:"391";s:11:"jjjjjjjjjjj";s:1:"2";s:15:"jjjjjjjjjjjjjjj";s:1:"8";s:15:"jjjjjjjjjjjjjjj";s:1:"8";s:15:"jjjjjjjjjjjjjjj";s:1:"8";s:16:"jjjjjjjjjjjjjjjj";s:2:"12";s:14:"jjjjjjjjjjjjjj";N;s:11:"jjjjjjjjjjj";N;s:13:"jjjjjjjjjjjjj";N;s:20:"jjjjjjjjjjjjjjjjjjjj";s:1:"1"... etc

At about the 30th file in row about 105000, readline() cuts off the first 69 characters. 在大约105000行的第30个文件中,readline()切断前69个字符。 The line has a total of 936 characters. 该行共有936个字符。

Any idea why readline() cuts off the characters? 知道为什么readline()切断字符吗? (BTW, there are lines that are longer!) (顺便说一下,有些线路更长!)

I tried your code but with a simple System.out.println(line) where you call the parseLine(line) method and everything works fine: your sample trouble causing line appears correct in my console. 我尝试了你的代码,但是使用一个简单的System.out.println(line)你调用parseLine(line)方法,一切正常:你的样本故障导致行在我的控制台中显示正确。

Please try yourself and let us see your parseLine(line) method. 请尝试自己,让我们看看你的parseLine(line)方法。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM