当前位置:首页 > 开发 > 编程语言 > Ruby > 正文

Ruby获取文件夹(目录)的大小

发表于: 2011-01-05   作者:hotsunshine   来源:转载   浏览次数:
摘要: 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 #=>
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







Ruby获取文件夹(目录)的大小

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
硬盘空间又变红了?自从我加入到PT行列中之后,这个是我几乎每天都要担心的事情,即使准备了一个2TB
一、获取本地文件的大小 直接使用filesize() 函数,可以返回指定文件的大小。 若成功,则返回文件大
平时在copy文件的时候经常需要手动清理.svn文件,一两层文件夹还好办,层级关系多了,每次都手动去
平时在copy文件的时候经常需要手动清理.svn文件,一两层文件夹还好办,层级关系多了,每次都手动去
平时在copy文件的时候经常需要手动清理.svn文件,一两层文件夹还好办,层级关系多了,每次都手动去
下载时获取文件大小 获取文件大小,有时候会出现文件大小为0的情况,一般来说,这是由于我们无法获
在Javascript中可以使用OuterWidth,OuterHeight 获取浏览器的大小.用 innerWidth,innerHeight 来获
近期,因为JMS的消息堆积导致ApacheMQ频率故障(消息没有被消费掉,导致其数据库达到1.2G,JMS此时
1、 Class.getClassLoader.getResourceAsStream(String path) :默认则是从ClassPath根下获取,path
Android 2,.1中获取内存卡上的data/data/org.lesohome.activity/files/目录,保存在此目录的文件,
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号