bufferedReader.readline返回null。

6

我有一个文件在AFC/save.txt中,里面有这个内容:

peter

现在我在Java中使用这段代码,但它返回null,你知道为什么吗?

//Android
try {
        InputStream fis = game.getFileIO().readFile("AFC/save.txt");
        BufferedReader br = new BufferedReader(new InputStreamReader(fis));
        if(br.readLine() != null)
        {
                            Log.d("File", "Value : " + br.readLine() );
            player = br.readLine();
        }
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

该值为空。

1个回答

12

哪个值是null?

if(br.readLine() != null)这一行,你正在读取文件的第一行。

Log.d("File", "Value : " + br.readLine() );这一行,你在文件的第二行。

player = br.readLine();这一行,你正在读取文件的第三行。如果文件中只有一行,则此行将返回null。

尝试:

try {
    String temp;
    InputStream fis = game.getFileIO().readFile("AFC/save.txt");
    BufferedReader br = new BufferedReader(new InputStreamReader(fis));
    if((temp = br.readLine()) != null)
    {
          player = temp;
          Log.d("File", "Value : " + player );
    }
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

1
我完全忘记了每个readline都会读取一个新的行:D,现在我已经修复了,干杯。 - Canvas
一直在等它允许我:D - Canvas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接