Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android FileNotFoundException_Java_Android_Filenotfoundexception - Fatal编程技术网

Java Android 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() {

我将一个Java应用程序移植到Android上,一切正常,只是该应用程序无法在我的手机上加载.csv文件。它总是给我FileNotFoundException。谁能帮帮我吗?感谢您的帮助。下面是代码中的错误部分:

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_存储将隐式授予您读取权限。谢谢,但我还需要在稍后阶段写入外部存储。