addFileSync method

void addFileSync(
  1. File file, [
  2. String? filename,
  3. int? level
])

Implementation

void addFileSync(File file, [String? filename, int? level]) {
  final fileStream = InputFileStream(file.path);
  try {
    filename ??= path.basename(file.path);
    filename = path.posix.fromUri(path.toUri(filename));
    final archiveFile = ArchiveFile.stream(filename, fileStream);

    archiveFile.lastModTime =
        (file.lastModifiedSync()).millisecondsSinceEpoch ~/ 1000;
    archiveFile.mode = (file.statSync()).mode;

    _add(archiveFile, level);
  } finally {
    // ZipEncoder normally closes entries itself, but validation failures
    // before its close callback must not leak the input file handle.
    fileStream.closeSync();
  }
}