Rust文件基本操作
假设我们有一个简单的文件存储服务,需要实现以下功能:
- 创建新文件
- 读取文件内容
- 更新文件内容
- 删除文件
# 基本操作
use std::fs;
use std::io::prelude::*;
use std::path::Path;
// 创建新文件
pub fn create_file(path: &Path, contents: &str) -> Result<(), std::io::Error> {
fs::File::create(path)?.write_all(contents.as_bytes())
}
// 读取文件内容
pub fn read_file(path: &Path) -> Result<String, std::io::Error> {
fs::read_to_string(path)
}
// 更新文件内容
pub fn update_file(path: &Path, contents: &str) -> Result<(), std::io::Error> {
let mut file = fs::File::create(path)?;
file.write_all(contents.as_bytes())
}
// 删除文件
pub fn delete_file(path: &Path) -> Result<(), std::io::Error> {
fs::remove_file(path)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 使用示例
fn main() -> Result<(), std::io::Error> {
let path = Path::new("example.txt");
let content = "Hello, world!";
// 创建文件
create_file(&path, &content)?;
// 读取文件
let read_content = read_file(&path)?;
println!("文件内容: {}", read_content);
// 更新文件
let updated_content = "Hello, Rust!";
update_file(&path, &updated_content)?;
// 删除文件
delete_file(&path)?;
Ok(())
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
上次更新: 2024/04/07, 16:22:38
- 02
- Node与GLIBC_2.27不兼容解决方案08-19
- 03
- Git清空本地文件跟踪缓存08-13