Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.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 将压缩目录提取到外部存储中_Java_Android_Java Io - Fatal编程技术网

Java 将压缩目录提取到外部存储中

Java 将压缩目录提取到外部存储中,java,android,java-io,Java,Android,Java Io,我压缩了一个名为dir2的目录,其中包含一些文本文件。我想在外部存储器中创建一个名为dir的目录,其中包含dir2 给定一个压缩的dir2,我正在尝试提取它,使其看起来像: 外部存储路径/dir/dir2/textfile.txt createFile(zis, "dir2/textfile.txt"); private void createFile(ZipInputStream zipIn, String filename) { if(android.os.Environment.getE

我压缩了一个名为dir2的目录,其中包含一些文本文件。我想在外部存储器中创建一个名为dir的目录,其中包含dir2

给定一个压缩的dir2,我正在尝试提取它,使其看起来像: 外部存储路径/dir/dir2/textfile.txt

createFile(zis, "dir2/textfile.txt");

private void createFile(ZipInputStream zipIn, String filename) {
if(android.os.Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
        boolean created = false;
        File newFile = new File(Environment.getExternalStorageDirectory(),
                                        "dir/dir2/textfile.txt");
        if(!newFile.exists()) {
            // create the file and any parent dirs if needed
            created = newFile.mkdirs();
        }

        if(created) {
            BufferedOutputStream bos = null;
            try {
                FileOutputStream fos = new FileOutputStream(newFile.getAbsolutePath());
                bos = new BufferedOutputStream(fos);
            } catch (FileNotFoundException fnf) {
                fnf.printStackTrace();
            }
尝试创建BufferedOutputStream时引发异常:

java.io.FileNotFoundException:  
/storage/emulated/0/dir/dir2/textfile.txt: open failed: EISDIR (Is a 
directory)

文本文件不是目录。

为什么要创建这样的文件夹(目录):
/storage/emulated/0/dir/dir2/textfile.txt
?我正试图在外部存储器中创建dir/dir2/textfile.txt,我知道,但为什么要创建文件夹(目录)像这样:
/storage/emulated/0/dir/dir2/textfile.txt
?为什么要创建这样的文件夹(目录):
/storage/emulated/0/dir/dir2/textfile.txt
?我想在外部存储器中创建dir/dir2/textfile.txt,但为什么要创建文件夹(目录)像这样:
/storage/emulated/0/dir/dir2/textfile.txt