gpt4 book ai didi

java - JTar 从 .tar 文件中提取文件

转载 作者:行者123 更新时间:2023-12-01 19:02:40 24 4
gpt4 key购买 nike

我正在使用jtar-1.1尝试从tar文件中提取文件,我使用以下代码尝试提取文件

String tarFile = "c:/test/test.tar";
String destFolder = "c:/test/myfiles";

// Create a TarInputStream
TarInputStream tis = new TarInputStream(new BufferedInputStream(new FileInputStream(tarFile)));
while (( entry = tis.getNextEntry() ) != null) {
System.out.println( "Extracting: " + entry.getName() );
int count;
byte data[] = new byte[BUFFER];

if (entry.isDirectory()) {
new File( destFolder + "/" + entry.getName() ).mkdirs();
continue;
} else {
int di = entry.getName().lastIndexOf( '/' );
if (di != -1) {
new File( destFolder + "/" + entry.getName().substring( 0, di ) ).mkdirs();
}
}

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();
}
}

编辑:

我已经编辑了上面的代码来检查entry是否是directory,完成此操作后,它就消除了FileNotFound错误。 ..上面的代码现在可以工作了

最佳答案

我认为您需要在打开 FileOutputStream 之前创建路径。

类似主题Here

关于java - JTar 从 .tar 文件中提取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11636403/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com