#directory #cache #android #ios

cache-dir

用于Rust的跨平台获取缓存目录和数据目录的函数库

5 releases

new 0.1.4 Jan 15, 2025
0.1.3 Jan 2, 2025
0.1.2 Jan 2, 2025
0.1.1 Dec 27, 2024
0.1.0 Dec 18, 2024

#72 in Caching

Download history 86/week @ 2024-12-13 22/week @ 2024-12-20 378/week @ 2024-12-27 84/week @ 2025-01-03 56/week @ 2025-01-10

583 downloads per month
Used in device-id

MIT license

11KB
110 lines

跨平台缓存目录和数据目录获取库

这个Rust库提供了两个跨平台获取可读可写目录的函数。

get_cache_dir

它能够根据不同的操作系统返回相应的缓存目录路径,并处理可能出现的错误。 缓存目录是一种非常不可控的目录类型,目录中的文件什么时候会被删除完全取决于操作系统,特别是在移动设备上,如果您的APP使用了较多的空间,当用户在使用其他APP时,可能优先删除您APP中的数据,在这种情况下可以改用[get_data_dir] 来代替。 在Windows上,此函数获取的是%LOCALAPPDATA%\Temp,其他平台取决于操作系统或者dirs::data_local_dir的实现;

get_data_dir

它能够根据不同的操作系统返回相应的可写的数据目录路径,并处理可能出现的错误。 数据目录是一种可靠的存储目录,可随时读写文件且无需申请权限,与[get_cache_dir]的区别是,此函数获取的数据目录更加持久。 在安卓平台此目录是APP私有目录中的files,Windows上是%LOCALAPPDATA%,其他平台取决于操作系统或者dirs::data_local_dir 的实现;

缓存目录和数据目录用途很广,多数平台都有支持,并且使用方便且不需要任何敏感权限。 在桌面平台上也强烈推荐使用此库提供的函数,例如在Windows上,多数开发人员可能会直接使用自身APP的根目录作为数据目录,但是这会有问题,例如如果您的应用安装到需要有管理员权限才能读写的目录中( C:\Program Files),此时可能无法正常写入文件。

功能

  • 获取当前平台的缓存目录路径。
  • 获取当前平台的数据目录路径。
  • 处理在不同操作系统上获取目录时可能出现的错误。
  • 支持的平台: Windows, Linux, MacOS, Android, iOS, WASM等。

安装

Cargo.toml文件中添加以下依赖:

[dependencies]
cache-dir = "0.1"

使用方法

在代码中引入get_cache_dir函数:

use cache_dir::get_cache_dir;

然后调用get_cache_dir函数来获取缓存目录:

match get_cache_dir() {
Ok(cache_dir) => println ! ("Cache directory: {:?}", cache_dir),
Err(e) => eprintln !("Error: {}", e),
}

更多细节请查看examples文件夹中的示例。

贡献

如果您有任何改进意见或想要贡献代码,请随时提交Pull Request或创建Issue。

许可证

本项目采用MIT许可证。有关详细信息,请查看LICENSE文件。

Dependencies

~0–9MB
~70K SLoC