Struct std::io::BufferedReader[src]
pub struct BufferedReader<R> {
// some fields omitted
}Wraps a Reader and buffers input from it
It can be excessively inefficient to work directly with a Reader. For
example, every call to read on TcpStream results in a system call. A
BufferedReader performs large, infrequent reads on the underlying
Reader and maintains an in-memory buffer of the results.
Example
fn main() { use std::io::{BufferedReader, File}; let file = File::open(&Path::new("message.txt")); let mut reader = BufferedReader::new(file); let mut buf = [0, ..100]; match reader.read(buf) { Ok(nread) => println!("Read {} bytes", nread), Err(e) => println!("error reading: {}", e) } }use std::io::{BufferedReader, File}; let file = File::open(&Path::new("message.txt")); let mut reader = BufferedReader::new(file); let mut buf = [0, ..100]; match reader.read(buf) { Ok(nread) => println!("Read {} bytes", nread), Err(e) => println!("error reading: {}", e) }
Methods
impl<R: Reader> BufferedReader<R>
fn with_capacity(cap: uint, inner: R) -> BufferedReader<R>
Creates a new BufferedReader with the specified buffer capacity
fn new(inner: R) -> BufferedReader<R>
Creates a new BufferedReader with a default buffer capacity
fn get_ref<'a>(&'a self) -> &'a R
Gets a reference to the underlying reader.
This type does not expose the ability to get a mutable reference to the underlying reader because that could possibly corrupt the buffer.
fn unwrap(self) -> R
Unwraps this BufferedReader, returning the underlying reader.
Note that any leftover data in the internal buffer is lost.