从文本文件Android Development中读取数据的问题

时间:2015-03-12 19:03:55

标签: android

我在浏览手机内部存储空间中的文本文件时遇到问题。我的代码如下:

   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中显示。有人可以帮忙吗?

提前谢谢!

2 个答案:

答案 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。结果是文件中的最后一行,可能是一个空行