0

ファイルがあります。text.txtと呼びましょう。数行のテキストが含まれています。これをコードで読み込もうとしているので、コードを使用して編集できますが、残念ながら、読み込もうとするとnullが返され、コードがまったく読み込まれません。エラーメッセージなどはありません。

例として、次のファイルが含まれています。

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

4 に答える 4

3

あなたが最初の行を読んでいることに注意してください

String aLine = docFile.readLine();

次に、この行を破棄します

aLine = docFile.readLine();

ループ内。

于 2011-02-26T20:06:42.453 に答える
0

次の行を読む前に、その行を追加してください。これを論理的に考えるなら、それは理にかなっているはずです。そうでない場合は、質問してください。

于 2011-02-26T20:08:38.800 に答える
0
while ( (aLine = docFile.readLine())!= null)
{  
     doc.add( aLine );
}
于 2011-02-26T20:10:30.623 に答える
0

whileループで、2つのステートメントを反転すると、nullではないことがわかっている行が追加され、次の行がチェックされます。現在のように、ループは行をチェックし、行を進めて新しい行をdocに追加するので、nullになる可能性があり、nullを追加して終了します。

于 2011-02-26T20:20:10.890 に答える