首先如果我们不把readLine()读取的行内容赋给一个字符串的话,每直接调用一次readLine()方法,实际上就是往下读一行。最后你会发现它变成了隔行读取。
错误代码:
FileInputStream fls = FileActivity.this.openFileInput(FILE_NAME);
if (fls == null){
Toast.makeText(this, "无信息", Toast.LENGTH_SHORT).show();
}
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fls));
String message = null;
while (bufferedReader.readLine() != null){
Log.d("FileActivity",bufferedReader.readLine());
}
bufferedReader.close();
正确写法:
FileInputStream fls = FileActivity.this.openFileInput(FILE_NAME);
if (fls == null){
Toast.makeText(this, "无信息", Toast.LENGTH_SHORT).show();
}
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fls));
String message = null;
while ((message = bufferedReader.readLine()) != null){
Log.d("FileActivity",message);
}
bufferedReader.close();