Struct tar::Archive[][src]

pub struct Archive<R: ?Sized + Read> { /* fields omitted */ }
Expand description

A top-level representation of an archive file.

This archive can have an entry added to it and it can be iterated over.

Implementations

impl<R: Read> Archive<R>[src]

pub fn new(obj: R) -> Archive<R>[src]

Create a new archive with the underlying object as the reader.

pub fn into_inner(self) -> R[src]

Unwrap this archive, returning the underlying object.

pub fn entries(&mut self) -> Result<Entries<'_, R>>[src]

Construct an iterator over the entries in this archive.

Note that care must be taken to consider each entry within an archive in sequence. If entries are processed out of sequence (from what the iterator returns), then the contents read for each entry may be corrupted.

pub fn unpack<P: AsRef<Path>>(&mut self, dst: P) -> Result<()>[src]

Unpacks the contents tarball into the specified dst.

This function will iterate over the entire contents of this tarball, extracting each file in turn to the location specified by the entry’s path name.

This operation is relatively sensitive in that it will not write files outside of the path specified by dst. Files in the archive which have a ‘..’ in their path are skipped during the unpacking process.

Examples

use std::fs::File;
use tar::Archive;

let mut ar = Archive::new(File::open("foo.tar").unwrap());
ar.unpack("foo").unwrap();

pub fn set_unpack_xattrs(&mut self, unpack_xattrs: bool)[src]

Indicate whether extended file attributes (xattrs on Unix) are preserved when unpacking this archive.

This flag is disabled by default and is currently only implemented on Unix using xattr support. This may eventually be implemented for Windows, however, if other archive implementations are found which do this as well.

pub fn set_preserve_permissions(&mut self, preserve: bool)[src]

Indicate whether extended permissions (like suid on Unix) are preserved when unpacking this entry.

This flag is disabled by default and is currently only implemented on Unix.

pub fn set_overwrite(&mut self, overwrite: bool)[src]

Indicate whether files and symlinks should be overwritten on extraction.

pub fn set_preserve_mtime(&mut self, preserve: bool)[src]

Indicate whether access time information is preserved when unpacking this entry.

This flag is enabled by default.

pub fn set_ignore_zeros(&mut self, ignore_zeros: bool)[src]

Ignore zeroed headers, which would otherwise indicate to the archive that it has no more entries.

This can be used in case multiple tar archives have been concatenated together.

Auto Trait Implementations

impl<R> !RefUnwindSafe for Archive<R>

impl<R: ?Sized> Send for Archive<R> where
    R: Send

impl<R> !Sync for Archive<R>

impl<R: ?Sized> Unpin for Archive<R> where
    R: Unpin

impl<R: ?Sized> UnwindSafe for Archive<R> where
    R: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

Performs the conversion.