2 个稳定版本

使用 Rust 2015 版本

1.0.1 2017 年 10 月 6 日

文件系统 中排名第 1191

Download history 161/week @ 2024-04-13 205/week @ 2024-04-20 259/week @ 2024-04-27 167/week @ 2024-05-04 213/week @ 2024-05-11 266/week @ 2024-05-18 262/week @ 2024-05-25 401/week @ 2024-06-01 240/week @ 2024-06-08 176/week @ 2024-06-15 269/week @ 2024-06-22 230/week @ 2024-06-29 260/week @ 2024-07-06 125/week @ 2024-07-13 227/week @ 2024-07-20 112/week @ 2024-07-27

每月下载量 742
6 Crates 使用(直接使用 3 个)

Unlicense 协议

7KB

slurp

一些用于加载文件的简易辅助函数,无需繁琐的模板代码 构建状态 构建状态

slurp 的存在是为了解决一个非常具体的问题。如果你尝试从磁盘加载文件,需要编写一些模板代码来有效处理 Read 特性

// gotta declare the output before??
let mut buf = String::new();
// gotta declare the file reader separately??
let mut file = File::open(filename).unwrap();

file.read_to_string(&mut buf).unwrap();

现在,Read 不分配自己的 Vecs 或 Strings 的真正好原因是:这样你就可以很容易地重用你自己的缓冲区。但如果你想分别保存每个文件的全部内容呢?或者如果你只加载一个文件呢?所有这些额外的功能在你只想从磁盘上 slurp 一个文件时只会碍事。

这正是这个库的作用所在!通过添加这个库(或将它的函数复制到你的项目中——它们真的非常小),所有这些模板代码都会被封装到自己的函数中!

let my_file = slurp::read_all_to_string(filename).unwrap();

slurp 还包含其他函数,用于将数据加载到字节数组(read_all_bytes)或每行一个字符串的 Vec 中(read_all_lines)。

要在你的项目中使用此库,请在 Cargo.toml 中添加以下内容

[dependencies]
slurp = "1.0.1"

...并在你的 crate 根目录中添加以下内容

extern crate slurp;

许可证

slurp 使用 Unlicense 许可证,这实际上是一种公共领域奉献。如果你不想为这个添加一个完全独立的 crate,请随意将其代码复制到你的项目中!

无运行时依赖