Struct std::io::BufReader
[−]
[src]
pub struct BufReader<R> { // some fields omitted }
Wraps a Read
and buffers input from it
It can be excessively inefficient to work directly with a Read
instance.
For example, every call to read
on TcpStream
results in a system call.
A BufReader
performs large, infrequent reads on the underlying Read
and maintains an in-memory buffer of the results.
Examples
fn main() { use std::io::prelude::*; use std::io::BufReader; use std::fs::File; fn foo() -> std::io::Result<()> { let mut f = try!(File::open("log.txt")); let mut reader = BufReader::new(f); let mut line = String::new(); let len = try!(reader.read_line(&mut line)); println!("First line is {} bytes long", len); Ok(()) } }use std::io::prelude::*; use std::io::BufReader; use std::fs::File; let mut f = try!(File::open("log.txt")); let mut reader = BufReader::new(f); let mut line = String::new(); let len = try!(reader.read_line(&mut line)); println!("First line is {} bytes long", len);
Methods
impl<R: Read> BufReader<R>
fn new(inner: R) -> BufReader<R>
Creates a new BufReader
with a default buffer capacity
fn with_capacity(cap: usize, inner: R) -> BufReader<R>
Creates a new BufReader
with the specified buffer capacity
fn get_ref(&self) -> &R
Gets a reference to the underlying reader.
fn get_mut(&mut self) -> &mut R
Gets a mutable reference to the underlying reader.
Warning
It is inadvisable to directly read from the underlying reader.
fn into_inner(self) -> R
Unwraps this BufReader
, returning the underlying reader.
Note that any leftover data in the internal buffer is lost.