Struct SevenZWriter

Source
pub struct SevenZWriter<W: Write> { /* private fields */ }
Expand description

Writes a 7z file.

Implementations§

Source§

impl<W: Write + Seek> SevenZWriter<W>

Source

pub fn push_source_path( &mut self, path: impl AsRef<Path>, filter: impl Fn(&Path) -> bool, ) -> Result<&mut Self, Error>

Solid compression - compress all files in path with multiple files in one block.

Source

pub fn push_source_path_non_solid( &mut self, path: impl AsRef<Path>, filter: impl Fn(&Path) -> bool, ) -> Result<&mut Self, Error>

Non-solid compression - compresses all files into path with one file per block.

Source§

impl SevenZWriter<File>

Source

pub fn create(path: impl AsRef<Path>) -> Result<Self, Error>

Creates a file to write a 7z archive to.

Source§

impl<W: Write + Seek> SevenZWriter<W>

Source

pub fn new(writer: W) -> Result<Self, Error>

Prepares writer to write a 7z archive to.

Source

pub fn set_content_methods( &mut self, content_methods: Vec<SevenZMethodConfiguration>, ) -> &mut Self

Sets the default compression methods to use for entry data. Default is LZMA2.

Source

pub fn set_encrypt_header(&mut self, enabled: bool)

Whether to enable the encryption of the -header. Default is true.

Source

pub fn push_archive_entry<R: Read>( &mut self, entry: SevenZArchiveEntry, reader: Option<R>, ) -> Result<&SevenZArchiveEntry, Error>

Adds an archive entry with data from reader.

§Example
use sevenz_rust2::*;
use std::fs::File;
use std::path::Path;
let mut sz = SevenZWriter::create("path/to/dest.7z").expect("create writer ok");
let src = Path::new("path/to/source.txt");
let name = "source.txt".to_string();
let entry = sz.push_archive_entry(
              SevenZArchiveEntry::from_path(&src, name),
              Some(File::open(src).unwrap()),
          )
          .expect("ok");
let compressed_size = entry.compressed_size;
sz.finish().expect("done");
Source

pub fn push_archive_entries<R: Read>( &mut self, entries: Vec<SevenZArchiveEntry>, reader: SeqReader<SourceReader<R>>, ) -> Result<&mut Self, Error>

Solid compression - packs entries into one pack.

§Panics
  • If entries’s length not equals to reader.reader_len()
Source

pub fn finish(self) -> Result<W>

Finishes the compression.

Auto Trait Implementations§

§

impl<W> Freeze for SevenZWriter<W>
where W: Freeze,

§

impl<W> RefUnwindSafe for SevenZWriter<W>
where W: RefUnwindSafe,

§

impl<W> Send for SevenZWriter<W>
where W: Send,

§

impl<W> Sync for SevenZWriter<W>
where W: Sync,

§

impl<W> Unpin for SevenZWriter<W>
where W: Unpin,

§

impl<W> UnwindSafe for SevenZWriter<W>
where W: 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

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>,

Source§

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.