Skip to main content

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}