Struct std::fs::OpenOptions
[−]
[src]
pub struct OpenOptions(_);
Options and flags which can be used to configure how a file is opened.
This builder exposes the ability to configure how a File
is opened and
what operations are permitted on the open file. The File::open
and
File::create
methods are aliases for commonly used options using this
builder.
Generally speaking, when using OpenOptions
, you'll first call new()
,
then chain calls to methods to set each option, then call open()
, passing
the path of the file you're trying to open. This will give you a
io::Result
with a File
inside that you can further
operate on.
Examples
Opening a file to read:
fn main() { use std::fs::OpenOptions; let file = OpenOptions::new().read(true).open("foo.txt"); }use std::fs::OpenOptions; let file = OpenOptions::new().read(true).open("foo.txt");
Opening a file for both reading and writing, as well as creating it if it doesn't exist:
fn main() { use std::fs::OpenOptions; let file = OpenOptions::new() .read(true) .write(true) .create(true) .open("foo.txt"); }use std::fs::OpenOptions; let file = OpenOptions::new() .read(true) .write(true) .create(true) .open("foo.txt");
Methods
impl OpenOptions
fn new() -> OpenOptions
Creates a blank net set of options ready for configuration.
All options are initially set to false
.
Examples
fn main() { use std::fs::OpenOptions; let file = OpenOptions::new().open("foo.txt"); }use std::fs::OpenOptions; let file = OpenOptions::new().open("foo.txt");
fn read(&mut self, read: bool) -> &mut OpenOptions
Sets the option for read access.
This option, when true, will indicate that the file should be
read
-able if opened.
Examples
fn main() { use std::fs::OpenOptions; let file = OpenOptions::new().read(true).open("foo.txt"); }use std::fs::OpenOptions; let file = OpenOptions::new().read(true).open("foo.txt");
fn write(&mut self, write: bool) -> &mut OpenOptions
Sets the option for write access.
This option, when true, will indicate that the file should be
write
-able if opened.
Examples
fn main() { use std::fs::OpenOptions; let file = OpenOptions::new().write(true).open("foo.txt"); }use std::fs::OpenOptions; let file = OpenOptions::new().write(true).open("foo.txt");
fn append(&mut self, append: bool) -> &mut OpenOptions
Sets the option for the append mode.
This option, when true, means that writes will append to a file instead of overwriting previous contents.
Examples
fn main() { use std::fs::OpenOptions; let file = OpenOptions::new().write(true).append(true).open("foo.txt"); }use std::fs::OpenOptions; let file = OpenOptions::new().write(true).append(true).open("foo.txt");
fn truncate(&mut self, truncate: bool) -> &mut OpenOptions
Sets the option for truncating a previous file.
If a file is successfully opened with this option set it will truncate the file to 0 length if it already exists.
Examples
fn main() { use std::fs::OpenOptions; let file = OpenOptions::new().write(true).truncate(true).open("foo.txt"); }use std::fs::OpenOptions; let file = OpenOptions::new().write(true).truncate(true).open("foo.txt");
fn create(&mut self, create: bool) -> &mut OpenOptions
Sets the option for creating a new file.
This option indicates whether a new file will be created if the file does not yet already exist.
Examples
fn main() { use std::fs::OpenOptions; let file = OpenOptions::new().create(true).open("foo.txt"); }use std::fs::OpenOptions; let file = OpenOptions::new().create(true).open("foo.txt");
fn open<P: AsRef<Path>>(&self, path: P) -> Result<File>
Opens a file at path
with the options specified by self
.
Errors
This function will return an error under a number of different circumstances, to include but not limited to:
- Opening a file that does not exist with read access.
- Attempting to open a file with access that the user lacks permissions for
- Filesystem-level errors (full disk, etc)
Examples
fn main() { use std::fs::OpenOptions; let file = OpenOptions::new().open("foo.txt"); }use std::fs::OpenOptions; let file = OpenOptions::new().open("foo.txt");