1*eb49bb99S曾俊 use std::fs::File; 2*eb49bb99S曾俊 use std::io::{BufReader, Read, Seek, SeekFrom, Write}; 3*eb49bb99S曾俊 main() -> std::io::Result<()>4*eb49bb99S曾俊fn main() -> std::io::Result<()> { 5*eb49bb99S曾俊 let file_size_bytes: u64 = 512; 6*eb49bb99S曾俊 let mut file = File::create("large_file")?; 7*eb49bb99S曾俊 file.seek(std::io::SeekFrom::Start(file_size_bytes - 1))?; 8*eb49bb99S曾俊 file.write_all(&[0])?; 9*eb49bb99S曾俊 let mut file = File::open("large_file")?; 10*eb49bb99S曾俊 // let mut reader = BufReader::new(file); 11*eb49bb99S曾俊 let mut buffer = [0; 512]; 12*eb49bb99S曾俊 let mut count = 0; 13*eb49bb99S曾俊 loop { 14*eb49bb99S曾俊 count += 1; 15*eb49bb99S曾俊 file.seek(SeekFrom::Start(0))?; 16*eb49bb99S曾俊 let bytes_read = file.read_exact(&mut buffer)?; 17*eb49bb99S曾俊 if count > 10000 { 18*eb49bb99S曾俊 break; 19*eb49bb99S曾俊 } 20*eb49bb99S曾俊 } 21*eb49bb99S曾俊 Ok(()) 22*eb49bb99S曾俊 } 23