我在浏览手机内部存储空间中的文本文件时遇到问题。我的代码如下:
public void recommend(View view) {
Context context = getApplicationContext();
String filename = "SendLog.txt";
TextView tv = (TextView)findViewById(R.id.textView134);
try {
FileInputStream fis = context.openFileInput(filename);
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
BufferedReader bufferedReader = new BufferedReader(isr);
StringBuilder sb = new StringBuilder();
String line;
while ((line = bufferedReader.readLine()) != null) {
sb.append(line).append("\n");
tv.getText();
tv.setText(line);
}
} catch (IOException e) {
e.getStackTrace();
}
我没有收到任何数据输入到我的手机。我的" SendLog.txt"文件驻留在/storage/emulated/0/SendLog.txt目录中。有人可以帮我吗?我想从文本文件中读取所有内容并在textView134中显示。有人可以帮忙吗?
提前谢谢!
答案 0 :(得分:1)
“/ storage / emulated / 0 / SendLog.txt”位于外部存储设备上,而不是内部存储设备。
您应该使用Environment.getExtenalStorageDirectory(),而不是context.openFileInput(filename),
FileInputStream fis = new FileInputStream(new File(Environment.getExtenalStorageDirectory(), filename));
虽然您需要处理诸如外部存储不可用/未安装的可能性。
您还需要使用manifest权限来读取外部存储空间,或者如果您打算这样做也可以写入它(您只需要其中一个,因为写入意味着读取)。
答案 1 :(得分:0)
您正在使用stringbuilder构建字符串,而是使用settexting line。结果是文件中的最后一行,可能是一个空行