Rust 檔案操作 write - 撰寫文檔
這篇[1] 有提到怎麼讀取文檔
而這篇為撰寫文檔
文檔操作都一樣放在std::fs下面
write[2]
write用來把資料寫入檔案裡
文件這樣解釋
pub fn write<P: AsRef<Path>, C: AsRef<[u8]>>(path: P, contents: C) -> Result<()>
需要輸入兩個
一個是路徑
另一個是需要撰寫的文字
最後輸出Result
例子
拿一個例子
use std::fs;
fn main() {
fs::write("foo.txt", "Lorem ipsum").unwrap();
fs::write("bar.txt", "dolor sit").unwrap();
}
我要在foo.txt放入Lorem ipsum
以及在bar.txt放入dolor sit
因回傳是一個Result
所以要unwrap
最後呈現結果為
1. 文字換行
use std::fs;
fn main() {
fs::write("foo.txt", "Lorem ipsum\ndolor sit").unwrap();
}
再輸入的文字打上換行符號
在txt檔裡面也可以正常換行
2. 絕對路徑
write一樣可以使用絕對路徑
use std::fs;
fn main() {
fs::write("D:\\Blog\\problem\\foo.txt", "Lorem ipsum\ndolor sit").unwrap();
}
一樣可以正常寫入
而如果路徑錯誤
則會出現panic
use std::fs;
fn main() {
fs::write("D:\\Blog\\problme\\foo.txt", "Lorem ipsum\ndolor sit").unwrap();
}
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 3, kind: NotFound, message: "系統找不到指定的路徑。" }', src\main.rs:4:71
stack backtrace:
注意事項
以前有犯過一些錯,這邊先打起來
1. write是直接覆寫,也就是原本內容會不見
2. 檔案不存在write會直接創立檔案
參考資料
[1] https://lageeblog.blogspot.com/2023/12/rust-readtostringread.html
[2] https://doc.rust-lang.org/std/fs/fn.write.html
0 comments:
張貼留言