#fs #folders #file #directories #json-file

bin+lib fs_pro

一个易于操作文件和文件夹的库

4 个稳定版本

1.3.0 2021年1月15日
1.2.0 2020年10月26日
1.1.0 2020年10月23日
1.0.0 2020年10月23日

文件系统 中排名 #1353

MIT 许可证

51KB
1K SLoC

fs pro

一个易于操作文件的库

crates.io Crates.io

这是 fs-pro 的 beta 版本

查看完整文档 此处

功能

  • 无需与 std api 合作
  • 易于使用

用法

use fs_pro::{Dir, File, Shape, error::Result};

#[derive(Shape)]
struct ChildShapedDir {
  #[name = "child_file.txt"]
  child_file: File
  // ...
}

#[derive(Shape)]
struct MyShapedDir {
  #[name = "my_file.txt"]
  my_file: File,
  #[pattern = "*.txt"]
  my_dir: Dir,
  child_shaped_dir: ChildShapedDir
}


fn main() -> Result<()> {
  let file = File::new("my_file.txt");
  // create the file
  file.create();
  // write to file
  file.write("hello there");
  // read file
  file.read_to_string(); // => "hello there"
  // and much more...
  let dir = Dir::new("my_dir");
  // create the dir
  dir.create();
  // create a file in it
  dir.create_file("my_file.txt").unwrap().write("hello world");
  // create a dir in it
  dir.create_dir("my_dir");

  let shape: Shape<MyShapedDir> = Shape::new();
  let shape_inst = shape.create_at("target").unwrap();
  println!("{:?}", shape_inst.my_file); // File
  println!("{:?}", shape_inst.my_dir); // Dir
  println!("{:?}", shape_inst.child_shaped_dir.child_file); // File

  // and much more...
  Ok(())
}

Rust 功能

  • json:为 File 添加 json 方法

许可证

版权所有 © 2020 AliBasicCoder

依赖项

~3.5–5.5MB
~97K SLoC