跳至主要內容

文件操作库

ltpp-universe大约 3 分钟file-operationfilerust

GITHUB 地址open in new window

LTPP-GIT 地址open in new window

目录

文件操作

open in new window
open in new window

open in new window

官方文档open in new window

API 文档open in new window

一个 Rust 库,提供了一组常见的文件操作工具,如读取、写入和查询文件元数据(例如大小)。它旨在简化 Rust 项目中的文件处理,提供安全且高效的文件操作方法。

安装

要使用此库,可以运行以下命令:

cargo add file-operation

使用

写入文件

代码:

let _ = write_to_file(FILE_PATH, "test".as_bytes());

描述: 将给定的数据("test".as_bytes())写入指定路径的文件中。

  • FILE_PATH - 目标文件路径。
  • 返回值 - 一个 Result,表示操作成功或失败。

读取文件

代码:

let res: Vec<u8> = read_from_file(FILE_PATH).unwrap_or_default();

描述: 读取指定路径文件的内容。

  • FILE_PATH - 目标文件路径。
  • 返回值 - 一个 Vec<u8>,包含文件内容,如果读取失败则返回一个空的向量。

获取文件大小

代码:

let size: Option<u64> = get_file_size(FILE_PATH);

描述: 获取指定路径文件的大小。

  • FILE_PATH - 目标文件路径。
  • 返回值 - 一个 Option<u64>,表示文件大小(字节数),如果文件不存在则返回 None

复制目录文件

代码:

let res: Result<(), std::io::Error> = copy_dir_files(FILE_DIR, NEW_FILE_DIR);

描述: 将所有文件从 FILE_DIR 复制到 NEW_FILE_DIR

  • FILE_DIR - 源目录路径。
  • NEW_FILE_DIR - 目标目录路径。
  • 返回值 - 一个 Result,表示操作成功或失败。

删除文件

代码:

let res: Result<(), std::io::Error> = delete_file(FILE_PATH);

描述: 删除指定路径的文件。

  • FILE_PATH - 目标文件路径。
  • 返回值 - 一个 Result,表示操作成功或失败。

移动目录

代码:

let res: Result<(), std::io::Error> = move_dir(FILE_DIR, NEW_TEST_DIR);

描述:FILE_DIR 目录移动到 NEW_TEST_DIR

  • FILE_DIR - 源目录路径。
  • NEW_TEST_DIR - 目标目录路径。
  • 返回值 - 一个 Result,表示操作成功或失败。

删除目录

代码:

let res: Result<(), std::io::Error> = delete_dir(NEW_TEST_DIR);

描述: 删除指定路径的目录。

  • NEW_TEST_DIR - 目标目录路径。
  • 返回值 - 一个 Result,表示操作成功或失败。

异步写入文件

代码:

let _ = async_write_to_file(FILE_PATH, "test".as_bytes()).await;

描述: 异步地将给定的数据("test".as_bytes())写入指定路径的文件中。

  • FILE_PATH - 目标文件路径。
  • 返回值 - 一个 Result,表示操作成功或失败。

异步读取文件

代码:

let res: Vec<u8> = async_read_from_file(FILE_PATH).await.unwrap_or_default();

描述: 异步地读取指定路径文件的内容。

  • FILE_PATH - 目标文件路径。
  • 返回值 - 一个 Vec<u8>,包含文件内容,如果读取失败则返回一个空的向量。

异步获取文件大小

代码:

let size: Option<u64> = async_get_file_size(FILE_PATH).await;

描述: 异步地获取指定路径文件的大小。

  • FILE_PATH - 目标文件路径。
  • 返回值 - 一个 Option<u64>,表示文件大小(字节数),如果文件不存在则返回 None

异步复制目录文件

代码:

let res: Result<(), std::io::Error> = async_copy_dir_files(FILE_DIR, NEW_FILE_DIR).await;

描述: 异步地将所有文件从 FILE_DIR 复制到 NEW_FILE_DIR

  • FILE_DIR - 源目录路径。
  • NEW_FILE_DIR - 目标目录路径。
  • 返回值 - 一个 Result,表示操作成功或失败。

异步删除文件

代码:

let res: Result<(), std::io::Error> = async_delete_file(FILE_PATH).await;

描述: 异步地删除指定路径的文件。

  • FILE_PATH - 目标文件路径。
  • 返回值 - 一个 Result,表示操作成功或失败。

异步移动目录

代码:

let res: Result<(), std::io::Error> = async_move_dir(FILE_DIR, NEW_TEST_DIR).await;

描述: 异步地将 FILE_DIR 目录移动到 NEW_TEST_DIR

  • FILE_DIR - 源目录路径。
  • NEW_TEST_DIR - 目标目录路径。
  • 返回值 - 一个 Result,表示操作成功或失败。

异步删除目录

代码:

let res: Result<(), std::io::Error> = async_delete_dir(NEW_TEST_DIR).await;

描述: 异步地删除指定路径的目录。

  • NEW_TEST_DIR - 目标目录路径。
  • 返回值 - 一个 Result,表示操作成功或失败。

许可

该项目遵循 MIT 许可协议。有关详细信息,请参阅 LICENSE 文件。

贡献

欢迎贡献!请提交问题或拉取请求。

联系

如有任何问题,请联系作者:ltpp-universe root@ltpp.vip

赞赏

作为这个项目的唯一开发者,我一直在努力确保后端服务器的稳定运行和服务的持续提供。这个项目凝聚了我所有的心血和热情,但服务器费用和网站维护确实是一个不小的负担。

如果您觉得这个项目对您有帮助,或希望支持一个坚持不懈的个人开发者,无论金额大小,您的赞助都将是对我的莫大鼓励。每一份支持都会直接用于服务器和维护成本,让这个项目能够继续为大家提供服务。感谢您的信任和支持!

上次编辑于:
贡献者: 尤雨东