Java 将压缩目录提取到外部存储中
我压缩了一个名为dir2的目录,其中包含一些文本文件。我想在外部存储器中创建一个名为dir的目录,其中包含dir2 给定一个压缩的dir2,我正在尝试提取它,使其看起来像: 外部存储路径/dir/dir2/textfile.txtJava 将压缩目录提取到外部存储中,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
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
?