[−][src]Struct atomicwrites::AtomicFile
Create a file and write to it atomically, in a callback.
Methods
impl AtomicFile
[src]
pub fn new<P>(path: P, overwrite: OverwriteBehavior) -> Self where
P: AsRef<Path>,
[src]
P: AsRef<Path>,
Helper for writing to the file at path
atomically, in write-only mode.
If OverwriteBehaviour::DisallowOverwrite
is given,
an Error::Internal
containing an std::io::ErrorKind::AlreadyExists
will be returned from self.write(...)
if the file exists.
The temporary file is written to a temporary subdirectory in .
, to ensure
it’s on the same filesystem (so that the move is atomic).
pub fn new_with_tmpdir<P, Q>(
path: P,
overwrite: OverwriteBehavior,
tmpdir: Q
) -> Self where
P: AsRef<Path>,
Q: AsRef<Path>,
[src]
path: P,
overwrite: OverwriteBehavior,
tmpdir: Q
) -> Self where
P: AsRef<Path>,
Q: AsRef<Path>,
Like AtomicFile::new
, but the temporary file is written to a temporary subdirectory in tmpdir
.
TODO: does tmpdir
have to exist?
pub fn path(&self) -> &Path
[src]
Get the target filepath.
pub fn write<T, E, F>(&self, f: F) -> Result<T, Error<E>> where
F: FnOnce(&mut File) -> Result<T, E>,
[src]
F: FnOnce(&mut File) -> Result<T, E>,
Open a temporary file, call f
on it (which is supposed to write to it), then move the
file atomically to self.path
.
The temporary file is written to a randomized temporary subdirectory with prefix .atomicwrite
.
Auto Trait Implementations
impl Send for AtomicFile
impl Sync for AtomicFile
impl Unpin for AtomicFile
impl UnwindSafe for AtomicFile
impl RefUnwindSafe for AtomicFile
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,