Java 读取tar.gz压缩包里面的文件的代码该怎么写?
时间: 2023-05-22 11:05:19 浏览: 1050
可以使用Java的GZIPInputStream和TarInputStream类来读取tar.gz压缩包里面的文件,以下是可能的示例代码:
```
import java.io.*;
import java.util.zip.GZIPInputStream;
import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
import org.apache.commons.compress.archivers.tar.TarInputStream;
public class ReadTarGzFileExample {
public static void main(String[] args) {
File tarGzFile = new File("example.tar.gz");
try (FileInputStream fis = new FileInputStream(tarGzFile);
GZIPInputStream gzis = new GZIPInputStream(fis);
TarInputStream tis = new TarInputStream(gzis)) {
TarArchiveEntry entry = null;
while ((entry = tis.getNextTarEntry()) != null) {
if (entry.isFile()) {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len;
while ((len = tis.read(buffer)) > 0) {
outputStream.write(buffer, 0, len);
}
String fileContent = outputStream.toString("UTF-8");
System.out.println(file.getFullName() + " content: " + fileContent);
}
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
```
在这个示例中,我们使用了第三方库Apache Commons Compress来操作tar.gz压缩包,但是Java本身也提供了类似的类库来处理gzip和tar格式的文件。
阅读全文