Struct zip::write::FileOptions

source ·
pub struct FileOptions<T: FileOptionExtension> { /* private fields */ }
Expand description

Metadata for a file to be written

Implementations§

source§

impl<T: FileOptionExtension> FileOptions<T>

source

pub const fn compression_method(self, method: CompressionMethod) -> Self

Set the compression method for the new file

The default is CompressionMethod::Deflated if it is enabled. If not, CompressionMethod::Bzip2 is the default if it is enabled. If neither bzip2 nor deflate is enabled, CompressionMethod::Zlib is the default. If all else fails, CompressionMethod::Stored becomes the default and files are written uncompressed.

source

pub const fn compression_level(self, level: Option<i64>) -> Self

Set the compression level for the new file

None value specifies default compression level.

Range of values depends on compression method:

  • Deflated: 10 - 264 for Zopfli, 0 - 9 for other encoders. Default is 24 if Zopfli is the only encoder, or 6 otherwise.
  • Bzip2: 0 - 9. Default is 6
  • Zstd: -7 - 22, with zero being mapped to default level. Default is 3
  • others: only None is allowed
source

pub const fn last_modified_time(self, mod_time: DateTime) -> Self

Set the last modified time

The default is the current timestamp if the ‘time’ feature is enabled, and 1980-01-01 otherwise

source

pub const fn unix_permissions(self, mode: u32) -> Self

Set the permissions for the new file.

The format is represented with unix-style permissions. The default is 0o644, which represents rw-r--r-- for files, and 0o755, which represents rwxr-xr-x for directories.

This method only preserves the file permissions bits (via a & 0o777) and discards higher file mode bits. So it cannot be used to denote an entry as a directory, symlink, or other special file type.

source

pub const fn large_file(self, large: bool) -> Self

Set whether the new file’s compressed and uncompressed size is less than 4 GiB.

If set to false and the file exceeds the limit, an I/O error is thrown and the file is aborted. If set to true, readers will require ZIP64 support and if the file does not exceed the limit, 20 B are wasted. The default is false.

source

pub const fn with_zopfli_buffer(self, size: Option<usize>) -> Self

Sets the size of the buffer used to hold the next block that Zopfli will compress. The larger the buffer, the more effective the compression, but the more memory is required. A value of None indicates no buffer, which is recommended only when all non-empty writes are larger than about 32 KiB.

source

pub const fn get_compression_level(&self) -> Option<i64>

Returns the compression level currently set.

source

pub const fn with_alignment(self, alignment: u16) -> Self

Sets the alignment to the given number of bytes.

source§

impl FileOptions<ExtendedFileOptions>

source

pub fn add_extra_data( &mut self, header_id: u16, data: &[u8], central_only: bool ) -> ZipResult<()>

Adds an extra data field.

source

pub fn clear_extra_data(self) -> Self

Removes the extra data fields.

Trait Implementations§

source§

impl<T: Clone + FileOptionExtension> Clone for FileOptions<T>

source§

fn clone(&self) -> FileOptions<T>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<T: Debug + FileOptionExtension> Debug for FileOptions<T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T: FileOptionExtension> Default for FileOptions<T>

source§

fn default() -> Self

Construct a new FileOptions object

source§

impl<T: FileOptionExtension> FileOptionsExt for FileOptions<T>

source§

fn with_deprecated_encryption(self, password: &[u8]) -> Self

Write the file with the given password using the deprecated ZipCrypto algorithm. Read more
source§

impl<T: Copy + FileOptionExtension> Copy for FileOptions<T>

Auto Trait Implementations§

§

impl<T> Freeze for FileOptions<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for FileOptions<T>
where T: RefUnwindSafe,

§

impl<T> Send for FileOptions<T>
where T: Send,

§

impl<T> Sync for FileOptions<T>
where T: Sync,

§

impl<T> Unpin for FileOptions<T>
where T: Unpin,

§

impl<T> UnwindSafe for FileOptions<T>
where T: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.