Skip to content

Commit

Permalink
Improve the API examples for std::fs::File.
Browse files Browse the repository at this point in the history
* Separate functionality into different code blocks
* Incorporate `BufReader` example
 * Fixes #35875.
  • Loading branch information
frewsxcv committed Dec 18, 2016
1 parent d250169 commit a664466
Showing 1 changed file with 38 additions and 6 deletions.
44 changes: 38 additions & 6 deletions src/libstd/fs.rs
Expand Up @@ -35,21 +35,53 @@ use time::SystemTime;
///
/// # Examples
///
/// Create a new file and write bytes to it:
///
/// ```no_run
/// use std::fs::File;
/// use std::io::prelude::*;
///
/// # fn foo() -> std::io::Result<()> {
/// let mut file = try!(File::create("foo.txt"));
/// try!(file.write_all(b"Hello, world!"));
/// # Ok(())
/// # }
/// ```
///
/// Read the contents of a file into a `String`:
///
/// ```no_run
/// use std::fs::File;
/// use std::io::prelude::*;
///
/// # fn foo() -> std::io::Result<()> {
/// let mut f = try!(File::create("foo.txt"));
/// try!(f.write_all(b"Hello, world!"));
/// let mut file = try!(File::open("foo.txt"));
/// let mut contents = String::new();
/// try!(file.read_to_string(&mut contents));
/// assert_eq!(contents, "Hello, world!");
/// # Ok(())
/// # }
/// ```
///
/// It can be more efficient to read the contents of a file with a buffered
/// [`Read`]er. This can be accomplished with [`BufReader<R>`]:
///
/// ```no_run
/// use std::fs::File;
/// use std::io::BufReader;
/// use std::io::prelude::*;
///
/// let mut f = try!(File::open("foo.txt"));
/// let mut s = String::new();
/// try!(f.read_to_string(&mut s));
/// assert_eq!(s, "Hello, world!");
/// # fn foo() -> std::io::Result<()> {
/// let file = try!(File::open("foo.txt"));
/// let mut buf_reader = BufReader::new(file);
/// let mut contents = String::new();
/// try!(buf_reader.read_to_string(&mut contents));
/// assert_eq!(contents, "Hello, world!");
/// # Ok(())
/// # }
/// ```
///
/// [`BufReader`]: ../io/struct.BufReader.html
#[stable(feature = "rust1", since = "1.0.0")]
pub struct File {
inner: fs_imp::File,
Expand Down

0 comments on commit a664466

Please sign in to comment.