```rust // Copy a file 4096 bytes at a time use std::fs::File; use std::io::{self, Read, Write}; fn main() -> io::Result<()> { let mut ifile = File::open("src.txt")?; let mut ofile = File::create("output.txt")?; let mut buffer = [0u8; 4096]; loop { let bytes_read = ifile.read(&mut buffer)?; println!("Bytes read: {}", &bytes_read); if bytes_read == 0 { break; } ofile.write_all(&buffer[0..bytes_read])?; println!("Written: {}", &bytes_read); } println!("Done"); Ok(()) } ```