打开失败:ENOENT(没有这样的文件或目录)试图打开一个txt

时间:2016-12-25 18:16:39

标签: android file

我试图打开4个txt文件,每个文件中都有一个数组。每个数组都是一个具有这些维数的数组:12 x(每月的天数)。当我创建(启动)我的应用程序时,我需要打开这些文件。数组中的值用逗号(,)分隔。该数组使用randoms值保存日历。这是我得到错误但我无法解决的代码:

float[][] cargarDatos(float [][] matriz, String file){
    BufferedReader reader = null;
    try {
        (*)reader = new BufferedReader(new FileReader(Environment.getExternalStorageDirectory()+file));
        String line = "";
        int row = 0;
        while((line = reader.readLine()) != null)
        {
            String[] cols = line.split(","); 
            int col = 0;
            for(String  c : cols){

                    matriz[row][col] = Float.parseFloat(c);

                    col++;


            }
            row++;
        }
        reader.close();

    } catch (Exception e) {
        e.printStackTrace();
    }
    return matriz;
}

另外,我在onCreate方法中得到了这个:

horasAno=cargarDatos(horasAno,"/anno2017Ordinaria.txt");

horasAno是我需要加载日期的4个数组之一

我一直以来的错误是:

W/System.err: java.io.FileNotFoundException: /storage/emulated/0/anno2017Ordinaria.txt: open failed: ENOENT (No such file or directory)
W/System.err:     at libcore.io.IoBridge.open(IoBridge.java:418)
W/System.err:     at java.io.FileInputStream.<init>(FileInputStream.java:78)
W/System.err:     at java.io.FileInputStream.<init>(FileInputStream.java:105)
W/System.err:     at java.io.FileReader.<init>(FileReader.java:66)
W/System.err:     at com.example.oschertar.calendario.MainActivity.cargarDatos(MainActivity.java:265)
W/System.err:     at com.example.oschertar.calendario.MainActivity.onCreate(MainActivity.java:104)

此目录中有一个具有此名称的文件。我做得不好?线265是用(*)

标记的线

1 个答案:

答案 0 :(得分:0)

我无法正确回答您的问题但会建议检查这些问题:

  • 您是否有权阅读Manifest中指定的文件?

  • 确保文件名和目录正确无误。我看到很多人在 .toString() 之后使用 Environment.getExternalStorageDirectory() 。我不确定为什么,并想知道它是否有帮助。