copy_file/
copy_file.rs

1use read_write_pipe::*;
2use std::fs::{File, OpenOptions};
3use std::io;
4use std::io::Write;
5
6fn prepare_input() -> io::Result<()> {
7    let mut f = OpenOptions::new()
8        .read(true)
9        .write(true)
10        .create(true)
11        .open("a.txt")?;
12    f.write_all(b"some content")
13}
14
15fn main() -> io::Result<()> {
16    prepare_input()?;
17    let input = File::open("a.txt")?;
18    let mut output = OpenOptions::new()
19        .read(true)
20        .write(true)
21        .create(true)
22        .open("b.txt")?;
23    let _ = output.write_reader(input)?;
24    Ok(())
25}