从内部存储中的特定文件夹读取字符串

时间:2019-01-27 16:05:25

标签: java internal-storage

我尝试使用以下代码从内部存储中的文件读取内容:

public String read_file(Context context, String filename) {
        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");
            }
            return sb.toString();
        } catch (FileNotFoundException e) {
            return "";
        } catch (UnsupportedEncodingException e) {
            return "";
        } catch (IOException e) {
            return "";
        }
    }

//文件名是“ et1.txt”

,但返回“”。 我也尝试使用:

File fileDirectory = new File(Environment.getExternalStorageDirectory()+"/Vara2/"+"et1"+".txt");
                File[]files=fileDirectory.listFiles();
                String string=files[0].toString();

但是文件数组长度为空。

我在清单文件中具有读取和写入外部存储的权限,并且在我的活动中称为“请求权限”。 我的观点是错误正在发生。我的文件“ et1.txt”位于内部存储中,但位于文件夹“ Vara2”中,因此,我想访问该文件夹是个问题。 谢谢大家!

0 个答案:

没有答案