Чтобы извлечь файл «tar.gz», вы можете использовать различные методы в зависимости от используемого вами языка программирования. Вот несколько примеров на разных языках:
-
Python:
import tarfile def extract_tar_gz(file_path, extract_path): with tarfile.open(file_path, "r:gz") as tar: tar.extractall(extract_path) # Usage extract_tar_gz("example.tar.gz", "output_directory") -
Java:
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.GZIPInputStream; import org.apache.commons.compress.archivers.tar.TarArchiveEntry; import org.apache.commons.compress.archivers.tar.TarArchiveInputStream; public class TarGzExtractor { public static void extractTarGz(String file, String outputDir) throws IOException { try (TarArchiveInputStream tarIn = new TarArchiveInputStream(new GZIPInputStream(new FileInputStream(file)))) { TarArchiveEntry entry; while ((entry = tarIn.getNextTarEntry()) != null) { if (entry.isDirectory()) { continue; } File outputFile = new File(outputDir, entry.getName()); outputFile.getParentFile().mkdirs(); try (FileOutputStream fos = new FileOutputStream(outputFile)) { byte[] buffer = new byte[1024]; int len; while ((len = tarIn.read(buffer)) != -1) { fos.write(buffer, 0, len); } } } } } // Usage public static void main(String[] args) throws IOException { extractTarGz("example.tar.gz", "output_directory"); } } -
C# (.NET):
using System; using System.IO; using System.IO.Compression; public class TarGzExtractor { public static void ExtractTarGz(string file, string outputDir) { using (var fileStream = new FileStream(file, FileMode.Open)) using (var gzipStream = new GZipStream(fileStream, CompressionMode.Decompress)) using (var tarArchive = new TarArchive(gzipStream)) { tarArchive.ExtractContents(outputDir); } } // Usage public static void Main(string[] args) { ExtractTarGz("example.tar.gz", "output_directory"); } }
Эти примеры демонстрируют, как извлечь файл «tar.gz» с помощью Python, Java и C#. Вы можете выбрать тот, который соответствует предпочитаемому вами языку программирования.