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[..]);