Ruby中获取文件的大小的方法有
或者是
如果文件是一个目录,他不会将目录下的文件大小也算在其中
因此要取得目录的大小,可以循环递归计算每一个文件的大小
相比较而言,直接去调用linux的命令 du 去取要快很多
分别以 B KB M 单位输出结果
ruby可直接调用命令,输出结果
File.size(file_name) → integer
Returns the size of file_name.
或者是
file.size → integer
Returns the size of file in bytes.
File.new("testfile").size #=> 66
如果文件是一个目录,他不会将目录下的文件大小也算在其中
因此要取得目录的大小,可以循环递归计算每一个文件的大小
相比较而言,直接去调用linux的命令 du 去取要快很多
分别以 B KB M 单位输出结果
linux-user:~/tmp # du -b gZc04sev.jpg
24271 gZc04sev.jpg
linux-user:~/tmp # du -k gZc04sev.jpg
24 gZc04sev.jpg
linux-user:~/tmp # du -m gZc04sev.jpg
1 gZc04sev.jpg
ruby可直接调用命令,输出结果
`du -b #{file_path} | awk '{print $1}'`.to_i