`

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

    博客分类:
  • ruby
阅读更多
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 目录操作详细介绍

    可以先获取文件夹内所有文件,然后逐个删除: ```ruby Dir.foreach("folder_to_empty") do |filename| next if filename == '.' || filename == '..' File.delete(filename) end ``` 6. 读取文件 读取文件内容,...

    收集的多个ruby遍历文件夹代码实例

    ### Ruby遍历文件夹知识点详解 #### 一、遍历文件夹下所有文件,输出文件名 该示例代码展示了如何使用Ruby递归地遍历指定路径下的所有文件,并输出每个文件的基本信息(如文件名和文件大小)。 **代码详解:** `...

    ruby-2.25.tar.gz

    在Ruby-2.2.5的安装包中,`ruby-2.2.5`通常指的是源代码文件夹,这个文件夹包含了编译和安装Ruby所需的所有源代码文件。用户需要解压这个`.tar.gz`文件来获取源代码。`.tar.gz`是一种常见的文件打包格式,它首先使用...

    txt文件合并多个文件夹内容

    通过这个函数,我们可以获取到所有包含TXT文件的路径。 2. **读取TXT文件**:使用open()函数配合'rt'(读取文本模式)打开每个TXT文件,然后使用read()或readlines()方法读取文件内容。 3. **合并内容**:将读取到...

    Cordova-Images-Injection:Ruby 脚本,可将默认图像注入您的项目,而无需加载它们。 如果像素不完美,将调整图片大小

    然后它运行在cordova 应用程序中找到的文件及其尺寸的“映射”,并按大小映射正确的图像通过在文件夹中复制到正确的命名约定来准备,然后复制 android/iphone 应用程序目录中的图像。 一个很好的附加好处是,如果...

    matlab怎样由代码生成图片-mirex-meta-analysis:灭蚁灵元分析

    Ruby脚本的第2部分为您获取了公共注释。 注意:无论采用哪种方式,您都将需要容纳数十万个小型文本文件的空间。 尽管大小仅为50 MB,但是由于最小的文件分配大小,磁盘上的大小可能超过430 MB。 解压缩所有获得的...

    eclipse links.txt

    - 下载完成后,解压至自定义路径,如`D:\eclipse`目录下创建相应文件夹进行存放。 - 运行`d:\eclipse\eclipse.exe`即可启动Eclipse。 #### 二、插件安装方法 Eclipse的强大之处在于其丰富的插件生态系统,这些...

    vagrant_centos.docx

    在这个文件中,你需要配置虚拟机的基本设置,如内存大小、CPU核心数以及Box的来源。例如,如果你下载的是名为"centos7"的Box,你可能需要将文件中的`config.vm.box`设置为"centos7"。 ```ruby Vagrant.configure("2...

    KemonoCode_Zohar.rar

    同时欢迎喜欢东方、Vocaloid、兽人、绘画、RM的朋友来多多交流.url**:这是一个URL链接,指向游戏作者的在线平台,玩家可以在这里获取最新的更新、提出问题或与其他爱好者交流。可以看出,这款游戏可能融合了东方...

    FunsionCharts_free 使用手册

    1. 在Web应用程序的根目录下新建一个名为`FusionCharts`的文件夹。 2. 将所有SWF文件复制到此文件夹内。 对于不需要服务器交互的情况,可以直接将FusionCharts Free安装在本地计算机上的任意位置进行测试学习。 ##...

    nexus-3.25.1-04-unix.tar.gz

    "nexus-3.25.1-04-unix.tar.gz" 是一种常见的Unix/Linux压缩格式,其中".tar" 表示这是一个归档文件,用于将多个文件和目录打包在一起,而".gz" 表示使用gzip工具进行了压缩,以减小文件大小。解压这个文件通常需要...

    FusionCharts帮助文档.doc

    在安装和使用FusionCharts时,首先需要在Web项目目录下创建一个名为FusionCharts的文件夹,并将所有SWF文件复制到其中。接着,在页面中引入FusionCharts.js,通过标签指定源文件路径。生成报表数据有两种方法,一是...

    vagrant_2.2.5_x86_64.rar

    2. **配置文件(Vagrantfile)**:每个Vagrant项目都有一个Vagrantfile,用Ruby编写,用于定义虚拟机的配置,如内存大小、CPU核心数以及box的版本等。 3. **同步目录**:Vagrant允许用户将本地文件夹与虚拟机内的...

    FusionCharts Free说明文档

    通过引用FusionCharts.dll控件,并将FusionCharts文件夹放置在网站目录内,开发者可以在ASPX页面中添加Literal控件来加载Flash组件和数据。例如,在代码中创建一个XML字符串,表示图表的各种数据集,然后调用...

    geopattern-php:从字符串创建漂亮的生成背景图像。 基于jasonlonggeo_pattern

    使用了16种模式之一(或可以指定一种),并且模式元素的大小也由哈希值确定。 您可以将生成的图案用作容器的background-image 。 使用模式的base64表示仍会导致SVG渲染,因此在视网膜显示器上看起来很棒。 请参阅...

    Windows版64位 vagrant_2.2.5_x86_64.zip

    - **配置管理**:Vagrant通过Vagrantfile进行环境配置,这是一个基于Ruby的文本文件,用户可以在这里定义虚拟机的硬件配置(如内存大小、CPU数量),操作系统镜像,以及网络设置等。 - **版本控制**:Vagrantfile...

    「建议收藏」Pycharm使用教程(非常详细,非常实用).docx

    1. 将 `resources_zh.jar` 文件拷贝到 PyCharm 的安装目录下的 `lib` 文件夹中。 2. 重启 PyCharm 即可完成汉化。(注意:`resources_zh.jar` 文件需要从官方或其他可靠来源获取) #### 三、PyCharm 整体结构与常用...

    dq.zip_2016dq.com网址_zip_框架

    "zip"表明文件是以ZIP格式压缩的,这是一种常见的文件归档和压缩格式,用于减少文件大小以便于传输和存储。 【描述】"快速开发框架"指的是这个框架的主要设计目标是提高开发效率,帮助程序员快速构建应用程序。通常...

    无业游民:无业游民的配置

    用户可以通过它指定虚拟机的配置,包括操作系统(box)、IP地址、内存大小、共享文件夹等。 2. **Boxes**:预装操作系统的镜像,Vagrant通过下载box文件来初始化虚拟机。用户可以从Vagrant云或第三方源获取box,也...

Global site tag (gtag.js) - Google Analytics