java Mkdir在尝试使用JTar解压时不起作用
我正在尝试实现一个文件解压缩功能。下面是我使用JTar编写的代码
private void untar(String tarFile, String destFolder) throws IOException {
TarInputStream tis = new TarInputStream(new BufferedInputStream(new FileInputStream(tarFile)));
TarEntry entry;
while (( entry = tis.getNextEntry() ) != null) {
System.out.println( "Extracting: " + entry.getName() );
int count;
byte data[] = new byte[2048];
if (entry.isDirectory()) {
new File( destFolder + "/" + entry.getName() ).mkdirs();
continue;
} else {
int di = entry.getName().lastIndexOf( '/' );
System.out.println("File"+di);
if (di != -1) {
File f = new File( destFolder + "/" + entry.getName().substring( 0, di ) );
if(f.mkdirs())
System.out.println(f.isDirectory());
}
}
FileOutputStream fos = new FileOutputStream( destFolder + "/" + entry.getName() );
BufferedOutputStream dest = new BufferedOutputStream( fos );
while (( count = tis.read( data ) ) != -1) {
dest.write( data, 0, count );
}
dest.flush();
dest.close();
}
tis.close();
}
当我点击mkdirs()部分并尝试创建目录时,它不会这样做,并且在if
语句之后,在控制台上看不到任何输出
这可能是FileOutputStream的后续代码显示IOexception而不是目录的原因
我在任何地方都找不到解决这个问题的办法
共 (0) 个答案