Tôi đang sử dụng mã này để thêm một dòng mới vào cuối của một tập tin:Biến thể tốt nhất để nối thêm một dòng mới trong một tệp văn bản là gì?
let text = "New line".to_string();
let mut option = OpenOptions::new();
option.read(true);
option.write(true);
option.create(true);
match option.open("foo.txt") {
Err(e) => {
println!("Error");
}
Ok(mut f) => {
println!("File opened");
let size = f.seek(SeekFrom::End(0)).unwrap();
let n_text = match size {
0 => text.clone(),
_ => format!("\n{}", text),
};
match f.write_all(n_text.as_bytes()) {
Err(e) => {
println!("Write error");
}
Ok(_) => {
println!("Write success");
}
}
f.sync_all();
}
}
Nó hoạt động, nhưng tôi nghĩ rằng nó quá khó khăn. Tôi tìm thấy option.append(true);
, nhưng nếu tôi sử dụng nó thay vì option.write(true);
tôi nhận được "Viết lỗi".
Không liên quan đến câu hỏi, nhưng '.to_owned()' nhanh hơn '.to_string()' và là giải pháp thay thế được ưu tiên trừ khi bạn muốn xâu chuỗi một số loại Hiển thị triển khai. – llogiq
Cảm ơn. Tôi sẽ dùng nó. – Aleksandr