Struct ZipFS

Source
pub struct ZipFS { /* private fields */ }
Expand description

A filesystem backed by a zip file.

Implementations§

Source§

impl ZipFS

Source

pub fn new(filename: &Path) -> Result<Self>

Make new VFS from a zip file

Source

pub fn from_read<R>(reader: R) -> Result<Self>
where R: Read + Seek + 'static,

Creates a ZipFS from any Read+Seek object, most useful with an in-memory std::io::Cursor.

Trait Implementations§

Source§

impl Debug for ZipFS

Source§

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

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

impl VFS for ZipFS

Source§

fn read_dir( &self, path: &Path, ) -> Result<Box<dyn Iterator<Item = Result<PathBuf>>>>

Zip files don’t have real directories, so we (incorrectly) hack it by just looking for a path prefix for now.

Source§

fn open_options( &self, path: &Path, open_options: OpenOptions, ) -> Result<Box<dyn VFile>>

Open the file at this path with the given options
Source§

fn mkdir(&self, path: &Path) -> Result

Create a directory at the location by this path
Source§

fn rm(&self, path: &Path) -> Result

Remove a file or an empty directory.
Source§

fn rmrf(&self, path: &Path) -> Result

Remove a file or directory and all its contents
Source§

fn exists(&self, path: &Path) -> bool

Check if the file exists
Source§

fn metadata(&self, path: &Path) -> Result<Box<dyn VMetadata>>

Get the file’s metadata
Source§

fn to_path_buf(&self) -> Option<PathBuf>

Retrieve the actual location of the VFS root, if available.
Source§

fn open(&self, path: &Path) -> Result<Box<dyn VFile>>

Open the file at this path for reading
Source§

fn create(&self, path: &Path) -> Result<Box<dyn VFile>>

Open the file at this path for writing, truncating it if it exists already
Source§

fn append(&self, path: &Path) -> Result<Box<dyn VFile>>

Open the file at this path for appending, creating it if necessary

Auto Trait Implementations§

§

impl !Freeze for ZipFS

§

impl !RefUnwindSafe for ZipFS

§

impl !Send for ZipFS

§

impl !Sync for ZipFS

§

impl Unpin for ZipFS

§

impl !UnwindSafe for ZipFS

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.