Function std::io::copy
[−]
[src]
pub fn copy<R: Read, W: Write>(reader: &mut R, writer: &mut W) -> Result<u64>
Copies the entire contents of a reader into a writer.
This function will continuously read data from reader
`readerand then write it into
writerin a streaming fashion until
reader`
returns EOF.
On success, the total number of bytes that were copied from
reader
`readerto
` to writer
`writer` is returned.
Errors
This function will return an error immediately if any call to read
`reador
writereturns 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[..]);