【发布时间】:2017-04-16 19:23:47
【问题描述】:
我正在尝试在文本文件的开头添加新行。我首先使用append 打开文件,但这仅允许我使用write_all 写入文件末尾,至少这是我得到的结果。如果我正确阅读了文档,这是设计使然。
我尝试过使用seek,但这并没有解决问题。
这是我目前拥有的:
let mut file = OpenOptions::new().append(true).open(&file_path).unwrap();
file.seek(SeekFrom::Start(0));
file.write_all(b"Cool days\n");
如果我用write 打开文件,我最终会覆盖数据而不是添加。使用 Rust 完成此任务的合适方法是什么?
【问题讨论】:
-
如果您在文件的开头添加一行,则需要移动文件的所有剩余内容以适应它。在任何编程语言中都没有办法解决这个问题。见this example in C#。