我试图打开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是用(*)
标记的线答案 0 :(得分:0)
我无法正确回答您的问题但会建议检查这些问题:
您是否有权阅读Manifest中指定的文件?
确保文件名和目录正确无误。我看到很多人在 .toString()
之后使用 Environment.getExternalStorageDirectory()
。我不确定为什么,并想知道它是否有帮助。