arui_core/tree/node/file.rs
1//! # 节点文件特征相关
2//! - `get_file_size` 获取文件占用磁盘的大小
3use std::io::Error;
4
5// --------------------- 文件相关 ---------------------
6// TODO: 当前文件和目录大小计算分开,可以优化为先计算文件大小再计算目录大小
7
8/// 获取文件占用磁盘大小
9/// TODO: 错误处理
10pub fn get_file_size(path: &str) -> Result<u64, Error> {
11 Ok(std::fs::metadata(path)?.len())
12}
13
14// --------------------- 单元测试 ---------------------
15
16#[cfg(test)]
17mod tests {
18 use super::*;
19
20 #[test]
21 // 测试获取文件大小
22 fn test_get_file_size_1() {
23 let path = "./tests/examples/tree/node/file/test_get_file_size.txt";
24 let size = get_file_size(path).unwrap();
25 println!("{}", size);
26 assert!(size > 0);
27 }
28}