Rust 标准库 API 文件操作 File
Rust About 2,376 wordsFile::create
使用File
的关联函数(类似Java
中的静态方法)create
,创建文件,如果存在,则覆盖。
use std::fs::{File, Metadata};
fn main() -> std::io::Result<()> {
let file: File = File::create("foo.txt")?;
let metadata: Metadata = file.metadata()?;
println!("{:?}", metadata);
}
fs::read_dir
fs::read_dir
函数读取文件夹目录。
let dir: fs::ReadDir = fs::read_dir("/")?;
for x in dir { // Result<DirEntry>
let entry: DirEntry = x?;
println!("{:?}, {:?}", entry.file_name(), entry.path());
}
fs::write
fs::write
函数向文件中写入内容。
fn main() -> std::io::Result<()> {
fs::write("foo.txt", "abc".as_bytes())?;
OpenOptions append
使用OpenOptions
的append
方法,对文件追加内容。
fn main() -> std::io::Result<()> {
let mut file = OpenOptions::new().append(true).open("foo.txt")?;
file.write("xyz".as_bytes())?;
}
fs::read_to_string
fs::read_to_string
函数:读取文件中的内容
fn main() -> std::io::Result<()> {
let string: String = fs::read_to_string("foo.txt")?;
println!("{}", string);
}
fs::copy
fs::copy
函数:拷贝文件。
fn main() -> std::io::Result<()> {
fs::copy("foo.txt", "foo2.txt")?;
}
fs::rename
fs::rename
函数:文件重命名。
fn main() -> std::io::Result<()> {
fs::rename("foo2.txt", "foo3.txt")?;
}
fs::remove_file
fs::remove_file
函数:移除文件。
fn main() -> std::io::Result<()> {
fs::remove_file("foo.txt")?;
}
fs::create_dir
fs::create_dir
函数:创建文件夹,如果指定了多级目录,路径中的目录必须存在。
fn main() -> std::io::Result<()> {
fs::create_dir("test_dir")?;
}
fs::create_dir_all
fs::create_dir_all
函数:创建文件夹,路径中不存在的目录也会同步创建。
fn main() -> std::io::Result<()> {
fs::create_dir_all("test_dir2/sub_dir")?;
fs::create_dir_all("test_dir2/sub_dir2")?;
}
fs::remove_dir
fs::remove_dir
函数:移除文件夹,文件夹中不能包含文件或子文件夹。
fn main() -> std::io::Result<()> {
ffs::remove_dir("test_dir")?;
}
fs::remove_dir_all
fs::remove_dir_all
函数:删除整个文件夹,无论是否包含文件或子文件夹,将此文件夹中的内容全部删除。
fn main() -> std::io::Result<()> {
fs::remove_dir_all("test_dir2")?;
}
OpenOptions create
OpenOptions
中的create
方法表示,不存在就创建文件,read
:可读,write
:可写,append
:追加写。
fn main() -> std::io::Result<()> {
// Opening a file for both reading and writing, as well as creating it if it doesn't exist:
let mut file = OpenOptions::new()
.read(true)
.write(true)
.append(true)
.create(true)
.open("foo.txt")?;
file.write_all("1234".as_bytes())?;
}
Views: 1,542 · Posted: 2023-04-16
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb/LiteNote扫描下方二维码关注公众号和小程序↓↓↓
Loading...