我正在尝试编写保存原始文件和文件夹结构的解压缩文件的方法,但是,似乎mkdir()没有创建所需的文件夹,因此我不断得到:系统找不到指定的路径。
那么,请问任何解决方案?
这是我的代码:
public static void unzip(File file) throws IOException{
byte[] buffer = new byte[1024];
ZipInputStream zis = new ZipInputStream(new FileInputStream(file.toString()));
ZipEntry zipEntry = zis.getNextEntry();
while(zipEntry != null){
String fileName = zipEntry.getName();
System.out.println(file.toString().substring(0,file.toString().lastIndexOf("."))+"\\"+fileName);
File newFile = new File(file.toString().substring(0,file.toString().lastIndexOf("."))+"/"+fileName);
if(newFile.getParent()!=null){
File f= new File(newFile.getParent())
f.mkdir();
}
System.out.println(newFile.getParent());
FileOutputStream fos = new FileOutputStream(newFile);
System.out.println(fileName);
System.out.println(newFile.getName());
System.out.println(newFile.getParent());
System.out.print(file.getName().substring(0,file.getName().lastIndexOf("."))+"/" + fileName);
int len;
while ((len = zis.read(buffer)) > 0) {
fos.write(buffer, 0, len);
}
zipEntry=zis.getNextEntry();
fos.close();
}
zis.closeEntry();
zis.close();
}