BufferedReader.readLine () обрезает начало строки - PullRequest
3 голосов
/ 05 августа 2011

У меня проблема с чтением файла.

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

Примерно на 30-м файле в строке около 105000 readline () обрезает первые 69 символов. Всего в строке 936 символов.

Есть идеи, почему readline() отрезает персонажей? (Кстати, есть строки, которые длиннее!)

1 Ответ

0 голосов
/ 09 августа 2011

Я попробовал ваш код, но с простым System.out.println (line), где вы вызываете метод parseLine (line), и все работает отлично: ваш пример строки, вызывающей проблемы, выглядит правильным в моей консоли.

Пожалуйста, попробуйте сами и дайте нам посмотреть ваш метод parseLine (line).

...