Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.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复制文件资产_Java_Android_File_Copy_Assets - Fatal编程技术网

java android复制文件资产

java android复制文件资产,java,android,file,copy,assets,Java,Android,File,Copy,Assets,我有一个异步任务,必须将文件夹“文件”从资产写入SD卡上的文件夹。但什么都不管用 final String sdDir = "/sdcard/izuchaika/"; new Thread(new Runnable() { public void run() { try { InputStream in = getAssets().open("Files"); OutputStream o

我有一个异步任务,必须将文件夹“文件”从资产写入SD卡上的文件夹。但什么都不管用

final String sdDir = "/sdcard/izuchaika/";

new Thread(new Runnable() {
        public void run() {
            try {

                InputStream in = getAssets().open("Files");
                OutputStream out = new FileOutputStream(new File(sdDir));
                try {
                    byte[] bucket = new byte[32 * 1024];
                    int bytesRead = 0;
                    while (bytesRead != -1) {
                        bytesRead = in.read(bucket);
                        out.write(bucket, 0, bytesRead);
                    }
                } catch (IOException ex) {
                    ex.printStackTrace();
                } finally {
                    try {
                        if (in != null)
                            in.close();
                        if (out != null)
                            out.close();
                    } catch (IOException ex) {
                        ex.printStackTrace();
                    }

                }
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }


        }
    }).start();

您正在以文件的形式写入和读取目录

替换

InputStream in = getAssets().open("Files");
OutputStream out = new FileOutputStream(new File(sdDir));


您正在将目录作为文件写入和读取

替换

InputStream in = getAssets().open("Files");
OutputStream out = new FileOutputStream(new File(sdDir));


并且,记住在manifestInputStream in=getAssets().open(“Files/exit.png”)中请求写入SD卡的权限;但这样我就可以只读文件了?我需要读取所有文件夹,因为有很多文件。然后列出资产目录中的文件,并进行循环。问题是什么?记住在manifestInputStream in=getAssets().open(“Files/exit.png”);但这样我就可以只读文件了?我需要读取所有文件夹,因为有很多文件。然后列出资产目录中的文件,并进行循环。问题是什么?一般提示:永远不要硬编码到外部存储/SD卡的路径(就像您在代码第1行中所做的那样)。请改用,因为实际路径和存储类型因设备而异(例如,有些设备内置闪存而不是SD卡)。一般提示:切勿硬编码外部存储/SD卡的路径(如代码第1行所述)。请改用,因为实际路径和存储类型因设备而异(例如,有些设备内置闪存而不是SD卡)