Java从文件中读取问题

时间:2011-02-26 20:03:01

标签: java file bufferedreader

我有一个文件,我们称之为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 个答案:

答案 0 :(得分:3)

请注意,您正在阅读第一行

String aLine = docFile.readLine();

然后你通过

放弃这一行
aLine = docFile.readLine();

在循环中。

答案 1 :(得分:0)

在阅读下一行之前添加该行。如果你从逻辑上考虑这个问题,它应该是有道理的,如果没有,请问。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

在while循环中,如果你翻转两个语句,那么它会添加你知道不为空的行,然后检查下一行。你现在拥有它的方式,循环检查行,然后前进一行并将新的一行添加到doc,所以它可以为null,然后在添加null后退出。