Struct zip::read::ZipArchive[][src]

pub struct ZipArchive<R: Read + Seek> { /* fields omitted */ }

Wrapper for reading the contents of a ZIP file.

fn doit() -> zip::result::ZipResult<()>
{
    use std::io::prelude::*;

    // For demonstration purposes we read from an empty buffer.
    // Normally a File object would be used.
    let buf: &[u8] = &[0u8; 128];
    let mut reader = std::io::Cursor::new(buf);

    let mut zip = try!(zip::ZipArchive::new(reader));

    for i in 0..zip.len()
    {
        let mut file = zip.by_index(i).unwrap();
        println!("Filename: {}", file.name());
        let first_byte = try!(file.bytes().next().unwrap());
        println!("{}", first_byte);
    }
    Ok(())
}

println!("Result: {:?}", doit());

Methods

impl<R: Read + Seek> ZipArchive<R>
[src]

Opens a Zip archive and parses the central directory

Number of files contained in this zip.

fn iter() {
    let mut zip = zip::ZipArchive::new(std::io::Cursor::new(vec![])).unwrap();

    for i in 0..zip.len() {
        let mut file = zip.by_index(i).unwrap();
        // Do something with file i
    }
}

Get the offset from the beginning of the underlying reader that this zip begins at, in bytes.

Normally this value is zero, but if the zip has arbitrary data prepended to it, then this value will be the size of that prepended data.

Search for a file entry by name

Get a contained file by index

Unwrap and return the inner reader object

The position of the reader is undefined.

Trait Implementations

impl<R: Debug + Read + Seek> Debug for ZipArchive<R>
[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl<R> Send for ZipArchive<R> where
    R: Send

impl<R> Sync for ZipArchive<R> where
    R: Sync