Java 读取tar.gz压缩包里面的文件并打印出来的代码该怎么写?
时间: 2023-05-22 14:05:26 浏览: 161
java解压缩包代码,单个文件,单个文件夹,混合的都可以
4星 · 用户满意度95%
以下是Java读取tar.gz压缩包里面的文件并打印出来的代码示例:
```java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.zip.GZIPInputStream;
import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
import org.apache.commons.compress.archivers.tar.TarArchiveInputStream;
public class ReadTarGzFile {
public static void main(String[] args) {
String fileToRead = "/path/to/file.tar.gz";
String fileName = "file.txt";
try (TarArchiveInputStream tarIn = new TarArchiveInputStream(
new GZIPInputStream(Files.newInputStream(Paths.get(fileToRead))))) {
TarArchiveEntry entry = null;
while ((entry = tarIn.getNextTarEntry()) != null) {
if (!entry.isDirectory() && entry.getName().equalsIgnoreCase(fileName)) {
BufferedReader buf = new BufferedReader(new InputStreamReader(tarIn));
String line;
while ((line = buf.readLine()) != null) {
System.out.println(line);
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
需要使用 `commons-compress` 库提供的 `TarArchiveInputStream` 和 `GZIPInputStream` 来实现解压和读取。以上代码会输出 tar.gz 压缩包中 `file.txt` 文件的内容。
阅读全文