告訴我是否需要提供更多資訊。所以,我的程式可以立即吃掉一個 75 gig 的 .bin 檔案,但是撰寫這些檔案需要很長時間,我想知道是不是因為即使它們是 .bin 檔案,我仍然可以將它們作為文本讀取。這是我寫的磁盤代碼:
println!("\nWriting to Disk...\n");
fs::create_dir(Path::new(&name_path)).unwrap();
let mut layer_path = format!("quirkscape/saves/{}/world.bin", name.trim());
let mut world_file = File::create(layer_path).expect("Uh Oh");
for k in data {
write!(world_file, "{}", k).unwrap();
}
uj5u.com熱心網友回復:
您可以使用 aBufWriter以便分批完成任何寫入。
直接使用實作的東西可能會非常低效
Write。例如,每次呼叫writeon都會TcpStream導致一次系統呼叫。ABufWriter<W>保留一個記憶體中的資料緩沖區,并將其以不頻繁的大批量寫入底層寫入器。
let mut world_file = BufWriter::new(File::create(layer_path).expect("Uh Oh"));
for k in data {
write!(world_file, "{}", k).unwrap();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/450057.html
