Function std::io::copy [] [src]

pub fn copy<R: ?Sized, W: ?Sized>(reader: &mut R, writer: &mut W) -> Result<u64> where R: Read, W: Write

Copies the entire contents of a reader into a writer.

This function will continuously read data from reader and then write it into writer in a streaming fashion until reader returns EOF.

On success, the total number of bytes that were copied from reader to writer is returned.

Errors

This function will return an error immediately if any call to read or write returns an error. All instances of ErrorKind::Interrupted are handled by this function and the underlying operation is retried.

Examples

fn main() { use std::io; fn foo() -> io::Result<()> { let mut reader: &[u8] = b"hello"; let mut writer: Vec<u8> = vec![]; try!(io::copy(&mut reader, &mut writer)); assert_eq!(reader, &writer[..]); Ok(()) } }
use std::io;

let mut reader: &[u8] = b"hello";
let mut writer: Vec<u8> = vec![];

try!(io::copy(&mut reader, &mut writer));

assert_eq!(reader, &writer[..]);