extractTarFiles function

Directory extractTarFiles(
  1. String inputPath,
  2. String outputPath
)

Extract the entries in the given tar file to a directory.

Entries are kept inside outputPath as extractArchiveToDiskSync describes.

Implementation

Directory extractTarFiles(String inputPath, String outputPath) {
  final input = InputFileStream(inputPath);
  try {
    final writer = EntryWriter(outputPath);
    TarDecoder().decodeStream(_tarStream(inputPath, input), keepEntries: false,
        callback: (entry) {
      final path = writer.write(entry);
      if (path != null && entry.isFile && !entry.isSymbolicLink) {
        print('  extracted $path');
      }
    });
    writer.finish();
  } finally {
    input.closeSync();
  }
  return Directory(outputPath);
}