< 返回版块

w 发表于 2021-03-09 18:02

打算写段程序把多个文件中的内容填到一个文件中,看了下std::fs::Filestd::io::BufReader这些自带的类库发现都要手动处理缓冲区。

crates.io上看了一圈没什么能满足需求的。

有老哥用过类似的类库吗推荐一下。

评论区

写评论
作者 w 2021-03-10 08:36

感谢老哥

--
👇
hbgjh:

use std::fs;
use std::fs::OpenOptions;
use std::io::prelude::*;

fn main()  -> std::io::Result<()> {
    let  fieltxt=readtxt();
    writetxt(fieltxt);
    Ok(())
}
///读取指定文件内容
fn readtxt()->String{
    let text = fs::read_to_string("D:\\from.txt").unwrap();
    return text;
}
///写内容到指定文件
fn writetxt(fieltxt:String) -> std::io::Result<()> {
    let mut file = OpenOptions::new()
            .append(true).open("D:\\text.txt")?;
    file.write(fieltxt.as_bytes()).expect("write failed");
    Ok(())
}


作者 w 2021-03-10 08:35

之前看了下注释还以为专门用来做网络io 的,我再看看

--
👇
Mike Tang: BufWriter不合你意么?

hbgjh 2021-03-09 23:02
use std::fs;
use std::fs::OpenOptions;
use std::io::prelude::*;

fn main()  -> std::io::Result<()> {
    let  fieltxt=readtxt();
    writetxt(fieltxt);
    Ok(())
}
///读取指定文件内容
fn readtxt()->String{
    let text = fs::read_to_string("D:\\from.txt").unwrap();
    return text;
}
///写内容到指定文件
fn writetxt(fieltxt:String) -> std::io::Result<()> {
    let mut file = OpenOptions::new()
            .append(true).open("D:\\text.txt")?;
    file.write(fieltxt.as_bytes()).expect("write failed");
    Ok(())
}


Mike Tang 2021-03-09 19:31

BufWriter不合你意么?

1 共 4 条评论, 1 页