Java чтение из файла проблема - PullRequest
0 голосов
/ 26 февраля 2011

У меня есть файл, назовем его text.txt.Он содержит несколько строк текста.Я пытаюсь прочитать это с помощью своего кода, чтобы я мог отредактировать его, используя мой код, к сожалению, всякий раз, когда я пытаюсь его прочитать, он просто возвращает ноль и не загружает код вообще.Нет сообщения об ошибке или что-либо.

Примером является файл со следующим:

a
b
c
d
e
f

при загрузке загружает следующее:

a
b
c
d
null

Какиене имеет никакого смысла для меня, так как, если он входит в цикл while, он не должен выходить!Кто-нибудь может мне помочь, пожалуйста?

try
{
     File theFile = new File(docName);

     if (theFile.exists() && theFile.canRead())
     {  
        BufferedReader docFile;
        docFile = new BufferedReader(
              new FileReader(f));

        String aLine = docFile.readLine();

        while (aLine != null)
        {  
           aLine = docFile.readLine();
           doc.add( aLine );
        }

        docFile.close();
     }

Ответы [ 4 ]

3 голосов
/ 26 февраля 2011

Обратите внимание, что вы читаете первую строку с

String aLine = docFile.readLine();

и затем вы отбрасываете эту строку, выполняя

aLine = docFile.readLine();

внутри цикла.

0 голосов
/ 26 февраля 2011

В цикле while, если вы перевернете два оператора, он добавит строку, которую вы знаете, что она не равна нулю, а затем проверьте следующую строку. Теперь у вас есть цикл, который проверяет строку, затем продвигает строку и добавляет новую в документ, так что она может быть нулевой, а затем выйти после добавления нулевой.

0 голосов
/ 26 февраля 2011
while ( (aLine = docFile.readLine())!= null)
{  
     doc.add( aLine );
}
0 голосов
/ 26 февраля 2011

Добавьте строку перед прочтением следующей строки. Если вы думаете об этом логически, это должно иметь смысл, а если нет, пожалуйста, спросите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...