简体   繁体   English

Android/Java:I/System.out:错误:java.io.FileNotFoundException:/storage/emulated/0/hermaps/...:打开失败:ENOENT(没有这样的文件或目录)

[英]Android/Java: I/System.out: Error :java.io.FileNotFoundException: /storage/emulated/0/heremaps/...: open failed: ENOENT (No such file or directory)

I try to copy a folder from the assets to the external storage but I have the error messages:我尝试将文件夹从资产复制到外部存储,但出现错误消息:

I/System.out: Error :java.io.FileNotFoundException: /storage/emulated/0/heremaps/appcache/sat/12/CURRENT: open failed: ENOENT (No such file or directory)
I/System.out: Error :java.io.FileNotFoundException: /storage/emulated/0/heremaps/appcache/sat/12/LOCK: open failed: ENOENT (No such file or directory)
I/System.out: Error :java.io.FileNotFoundException: /storage/emulated/0/heremaps/appcache/sat/12/MANIFEST-000008: open failed: ENOENT (No such file or directory)
I/System.out: Error :java.io.FileNotFoundException: /storage/emulated/0/heremaps/assets/here/miami/font/FiraGO-Map.LICENSE: open failed: ENOENT (No such file or directory)
I/System.out: Error :java.io.FileNotFoundException: /storage/emulated/0/heremaps/assets/here/miami/font/FiraGO_Map.ttf: open failed: ENOENT (No such file or directory)
I/System.out: Error :java.io.FileNotFoundException: /storage/emulated/0/heremaps/assets/here/miami/font/HanSans_ExtraLight.ttf: open failed: ENOENT (No such file or directory)
I/System.out: Error :java.io.FileNotFoundException: /storage/emulated/0/heremaps/assets/here/miami/font/Lohit.LICENSE: open failed: ENOENT (No such file or directory)
...

Here is my code:这是我的代码:

 private void copyAsset(String path) {
        AssetManager manager = getAssets();

        // If we have a directory, we make it and recurse. If a file, we copy its
        // contents.
        try {
            String[] contents = manager.list(path);

            if (contents == null || contents.length == 0)
                throw new IOException();

            // Création des dossiers
            String destination = Environment.getExternalStorageDirectory().getPath() + File.separator;
            File dir = new File( destination + path);

            dir.mkdirs();

            // Recurse on the contents.
            for (String entry : contents) {
                copyAsset(path + "/" + entry);
            }
        } catch (IOException e) {
            copyFileAsset(path);
        }
    }

    private void copyFileAsset(String path) {
        // File file = new File(Environment.getExternalStorageDirectory().getPath() + "/NTA/" + path);
        String destination = Environment.getExternalStorageDirectory().getPath() + File.separator;
        File file = new File( destination + path);

        try {
            InputStream in = getAssets().open(path);
            OutputStream out = new FileOutputStream(file);
            byte[] buffer = new byte[1024];
            int read = in.read(buffer);
            while (read != -1) {
                out.write(buffer, 0, read);
                read = in.read(buffer);
            }
            out.close();
            in.close();
        } catch (IOException e) {
            System.out.println("Error :" + e);
        }
    }

And my Androidmanifest:还有我的 Android 清单:

   <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />

    <application 
        android:requestLegacyExternalStorage="true"
        android:name=".ApplicationClass"
        android:allowBackup="true"

Thanks谢谢

Actually, you need to define the path as follows:实际上,您需要按如下方式定义路径:

try{
 .........
 ....
 String destination = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
 ......
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Android - java.io.FileNotFoundException: /storage/emulated/0/Notes/File.txt: open failed: ENOENT (No such file or directory) - Android - java.io.FileNotFoundException: /storage/emulated/0/Notes/File.txt: open failed: ENOENT (No such file or directory) Android - java.io.FileNotFoundException打开失败:ENOENT(没有这样的文件或目录) - Android - java.io.FileNotFoundException open failed: ENOENT (No such file or directory) java.io.FileNotFoundException: /storage/emulated/0/Notes/fact50Result.txt: open failed ENOENT (No such file or directory) - java.io.FileNotFoundException: /storage/emulated/0/Notes/fact50Result.txt: open failed ENOENT (No such file or directory) java.io.FileNotFoundException:打开失败:ENOENT(没有这样的文件或目录) - java.io.FileNotFoundException: open failed: ENOENT (No such file or directory) java.io.FileNotFoundException:打开失败:android中的ENOENT错误 - java.io.FileNotFoundException: open failed: ENOENT error in android 读取文件时出错:java.io.FileNotFoundException:打开失败:ENOENT(无此类文件或目录) - Error reading file: java.io.FileNotFoundException: open failed: ENOENT (No such file or directory) java.io.FileNotFoundException:打开失败:ENOENT(没有这样的文件或目录)-Android 11 - java.io.FileNotFoundException: open failed: ENOENT (No such file or directory) - Android 11 错误E / BitmapFactory:无法解码流:java.io.FileNotFoundException ::打开失败:ENOENT(无此类文件或目录) - Error E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException:: open failed: ENOENT (No such file or directory) E/PDFView:加载 pdf 错误。 java.io.FileNotFoundException:打开失败:ENOENT(没有那个文件或目录) - E/PDFView: load pdf error. java.io.FileNotFoundException: open failed: ENOENT (No such file or directory) java.io.FileNotFoundException,打开失败:ENOENT - java.io.FileNotFoundException, open failed: ENOENT
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM