Java Android FileNotFoundException
我将一个Java应用程序移植到Android上,一切正常,只是该应用程序无法在我的手机上加载.csv文件。它总是给我FileNotFoundException。谁能帮帮我吗?感谢您的帮助。下面是代码中的错误部分:Java Android FileNotFoundException,java,android,filenotfoundexception,Java,Android,Filenotfoundexception,我将一个Java应用程序移植到Android上,一切正常,只是该应用程序无法在我的手机上加载.csv文件。它总是给我FileNotFoundException。谁能帮帮我吗?感谢您的帮助。下面是代码中的错误部分: private String path = Environment.getExternalStorageDirectory() .getAbsolutePath() + "/Autoliste.csv"; public Auto[] lesenAutos() {
private String path = Environment.getExternalStorageDirectory()
.getAbsolutePath() + "/Autoliste.csv";
public Auto[] lesenAutos() {
int size = 0;
try {
BufferedReader reader = new BufferedReader(new FileReader(path));
String line = reader.readLine();
while (line != null) {
size++;
line = reader.readLine();
}
if (size == 0)
System.out.println("Datei ist leer");
reader.close();
} catch (FileNotFoundException e) {
System.out.println("File not found");
} catch (IOException e) {
System.out.println("Error reading file");
} catch (IndexOutOfBoundsException e) {
System.out.println("Ungültige Zeichen vorhanden");
}
Auto[] arr = new Auto[size];
int i = 0;
try {
BufferedReader reader = new BufferedReader(new FileReader(path));
String zeile = reader.readLine();
while (zeile != null) {
arr[i] = new Auto();
arr[i].setAuto(zeile);
i++;
zeile = reader.readLine();
}
reader.close();
} catch (FileNotFoundException e) {
System.out.println("Datei nicht gefunden");
} catch (IOException e) {
System.out.println("Lesefehler in Datei");
}
return arr;
}
谢谢,Tom。您可能缺少使用context.getPackageName添加应用程序包名的功能 并确保在您的AndroidManifest.xml中定义了下一个权限!:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
您可能缺少使用context.getPackageName添加应用程序的包名 并确保在您的AndroidManifest.xml中定义了下一个权限!:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
我刚刚犯了这个错误,我终于意识到,当我更改应用程序中使用的文件时,我忘了在新文件名的末尾添加“.csv”。我一加上这些,错误就消失了。确保包含文件类型!魔鬼在于细节。我本不想添加这个答案,但我想一些与我相似的新手可能会犯同样的错误。我刚刚犯了这个错误,我终于意识到,当我更改应用程序中使用的文件时,我忘了在新文件名的末尾添加“.csv”。我一加上这些,错误就消失了。确保包含文件类型!魔鬼在于细节。我本不想添加这个答案,但我想一些与我相似的新手可能会犯同样的错误。你有读取外部存储权限吗?没有,因为这是我的第一个应用程序,我不知道如何添加它。我如何添加它?转到您的AndroidManifest.xml文件,添加感谢,现在它可以工作了!!没问题,很高兴我能帮你。你有读取外部存储权限吗?没有,因为这是我的第一个应用程序,我不知道如何添加它。我如何添加它?转到您的AndroidManifest.xml文件,添加感谢,现在它可以工作了!!没问题,很高兴我能帮上忙谢谢,已经足够让它工作了:@ToTom,记住如果你不是真的在写存储器,只是在读,可能最好改用读外部存储器,尽管使用写外部存储器会隐式地给你读权限。谢谢,但我还需要在稍后阶段写入外部存储。谢谢,已经足够让它工作:@ToTom,请记住,如果您不是真的写入存储,只是读取,那么使用读取外部存储可能更好,尽管使用WRITE_EXTERNAL_存储将隐式授予您读取权限。谢谢,但我还需要在稍后阶段写入外部存储。