Struct std::old_io::BufferedReaderUnstable
[-] [+]
[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::old_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(&mut buf) { Ok(nread) => println!("Read {} bytes", nread), Err(e) => println!("error reading: {}", e) } }use std::old_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(&mut buf) { Ok(nread) => println!("Read {} bytes", nread), Err(e) => println!("error reading: {}", e) }
Methods
impl<R: Reader> BufferedReader<R>
fn with_capacity(cap: usize, 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>(&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 BufferedReader
, returning the underlying reader.
Note that any leftover data in the internal buffer is lost.