extractTarFiles function

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

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

Implementation

Directory extractTarFiles(String inputPath, String outputPath) {
  final input = InputFileStream(inputPath);
  try {
    final writer = EntryWriter(outputPath, throwOnError: true);
    TarDecoder().decodeStream(_tarStream(inputPath, input),
        throwOnError: true, 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);
}