除了读取字符串,还有std::fs::read函数,如果文件包含二进制数据,该函数会将数据读成一个字节向量。 下一个例子显示了如何将文件的内容读入内存,随后逐行打印到控制台: let file = fs::File::open("favorite_websites.txt")?; let lines = io::BufReader::new(file).lines(); for line in lines { if ...
usestd::io::Write;fnmain(){letmutfile=std::fs::File::create("data.txt").expect("create failed");file.write_all("从零蛋开始教程".as_bytes()).expect("write failed");file.write_all("\n简单编程".as_bytes()).expect("write failed");println!("data written to file");} 编译运行以上...
如果想使用流的方式写入文件内容,可以使用 std::fs::File 的 create 方法: 实例 usestd::io::prelude::*; usestd::fs::File; fnmain(){ letmutfile=File::create("D:\\text.txt").unwrap(); file.write(b"FROM RUST PROGRAM").unwrap(); } 这段程序与上一个程序等价。 注意:打开的文件一定存放...
File::create 打开文件 File 进行写入,File::open 则进行读取。 代码语言:javascript 复制 use std::fs::File;use std::io::{Write,BufReader,BufRead,Error};fnmain()->Result<(),Error>{letpath="lines.txt";letmut output=File::create(path)?;write!(output,"Rust\n💖\nFun")?;letinput=File:...
usestd::fs;fn read_file_content_as_string(path:&str)->Result<String,Box<dyn std::error::Error>>{ let string_content=fs::read_to_string(path)?;Ok(string_content)} 1. 2. 3. 4. 5. 6. 2,将整个文件读入到字节向量 如果不处理String内容,但需要处理某种形式的二进制格式,则可以将整个文件...
file.write_all(b"opensource.com\n")?; Ok() 由于文件类型实现了 Write 🔗 doc.rust-lang.org 特性,所以可以使用相关的方法来写入文件。然而, create 方法可以覆盖一个已经存在的文件。 为了获得对文件描述符的更多控制,必须使用 std::fs::OpenOptions 🔗 doc.rust-lang.org 类型。这提供了类似于其他语...
1、使用File::write方法 usestd::fs::File;usestd::io::Write;letcontent: &str="Hello, world";// 以只写的方式打开文件,文件存在则会覆盖原始内容letmutfile: File = File::create("foo.txt").unwrap();// 以字节的形式写入,返回写入的字节数letlen:usize= file.write(content.as_bytes()).unwrap...
let file= File::open(filename)?; Ok(io::BufReader::new(file).lines()) } 2 一次读入文本 use std::fs::File; use std::io::prelude::*; use std::path::Path; fn main() {//Create a path to the desired myfilelet path = Path::new("a.txt"); ...
use std::io::Read; fn main(){ let mut file=std::fs::File::open("data.txt").unwrap(); let mut contents=String::new(); file.read_to_string(&mut contents).unwrap(); print!("{}", contents); } 1. 2. 3. 4. 5. 6.
use std::fs::File;fnmain(){letf=File::open("hello.txt");letf=match f{Ok(file)=>file,Err(error)=>{panic!("打开文件发生错误: {:?}",error)},};} 注意与Option 枚举一样,Result枚举和其成员也被导入到了prelude中,所以就不需要在match分支中的Ok和Err之前指定Result::。