#isn-t #standard #file #path #read #content #file-io

convenience

不是 Rust 标准库中的实用工具

1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2016年3月24日

#17 in #isn-t


rgo 中使用

MIT 许可证

3KB

convenience

不是 std 中的实用工具。

目前除了几个文件 I/O 函数之外,这里没有太多可看的。

这某种程度上是受到 Go 丰富的标准库的启发,但我只是匆匆一瞥,所以请谨慎对待。

如果你需要做比这个crate的API所能提供的更复杂的事情,那么你很可能真的需要直接使用 standard library,而不是这个crate。

动机

我厌倦了写这些

let mut s = String::new();
let mut f = try!(File::open("/path/to/file"));
try!(f.read_to_string(&mut s));

当我真的想这么做的时候

let s = try!(read_file("/path/to/file"));

这比只使用 std 的版本严格来说不那么灵活:如果你事先知道文件的大小,你无法分配刚好足够的内存,你无法读取非 UTF-8 文件,也无法重用缓冲区。然而,大多数时候你不需要做这些,你只是 希望代码能够运行。Rust 的 std 是一个低级基础,这是理所当然的,但有时你希望有一些更严格但同时也更简单的东西。

特性

已实现

  • read_file(path)
  • write_file(path,contents)

待做

  • (可能) random_string(len)

这里有什么

任何合理的常见且简单的任务,你可能会期望在 std 中找到,但实际上没有。

依赖项

~47KB