首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java 如何获得一个文件或文件夹的大小

有时候我们需要知道一个文件的大小。 我们可以使用一些方法,比如说将文件读取成 InputStream,然后再使用 available() 获得长度就可以了。...我们也可以使用 FileUtils 来获得。 使用的方法是: FileUtils.sizeOf(localFileCache) localFileCache 中定义的是文件对象。...关于 sizeOf 的使用为:返回指定的文件或者文件夹的大小。如果你的 File 对象为一个文件的话,这个方法将会返回文件的大小。...如果你的 File 对象为一个目录的话,那么上面的方法将会返回这个文件夹的大小。这个文件夹的大小将会包含这个文件夹中所有子文件夹的内容。换句话说,这个方法是进行递归大小查询的。...但是,如果一个文件夹或者子文件夹有安全限制,不允许访问的话,那么这个方法将不会将上面的文件夹的内容进行计算。 https://www.ossez.com/t/java/620

2.6K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用Perl的File::Path模块删除非空文件夹

    之前写过用perl删除Windows下的图片缓存缩略图(Thumbs.db) 不过那个只是针对单个的文件,使用unlink方法就可以了(未测试过只读文件删除的情况- -!)...,那如果要删除指定的一个文件夹,有三种方案: 1、循环文件夹里面的文件,然后逐一删除,再使用rmdir删除空目录 2、使用File模块,使用remove_tree方法 3、调用系统命令进行删除(这个在linux...如何在调用的时候,例如这样:perl del.pl path 就是path在调用的时候才传进去呢?用$ARGV[0] 就可以得到,调用之前判断一下。 1: #!...,非得到未删除干净的目录下再次运行,有点繁琐(为什么出现这种现象,暂时未查到原因~ ~) DOS下还有一个Copy文件的命令也比较有用:xcopy,例如: xcopy D:\Aptana_work\9917...不是一个正确的文件夹路径...

    1.3K30

    perl删除Windows下的图片缓存缩略图(Thumbs.db)

    接手以前别人做的项目,发现SVN里的ignore里并没有对*.db处理,导致图片的缓存缩略文件都被提交了,而我只要打开图片文件夹,就意味着Thumbs.db发生了改变。...要做的事情有两个: 一、更改svn的设置,以后不再提交Thumbs.db文件 二、批量删除指定目录下的Thumbs.db文件 所以用perl写了一个,代码是在之前的 perl遍历目录 做了一些修改,主要有两点自己注意了...删除文件,需要指定文件的完整路径 四、perl中的else if 写法为elsif 没有那个“e” 五、perl正则匹配方式为 =~ 或 !...my $subpath; my $handle;   if (-d $path) {#当前路径是否为一个目录...if (opendir($handle, $path)) { while ($subpath = readdir($handle)) {

    66930

    文件系统中的目录与切换操作命令

    # 切换至含有 foo 子字符串的某个目录 $ j foo Q: 你知道 autojump 原理吗,你可以写出来一个 autojump 命令行小工具吗?...开头的文件 # -h: 以可读的形式表示文件体积,比如 100M $ ls -lah total 2176 drwxr-xr-x 36 shanyue shanyue 1.1K 6 10...Q: 如何配置颜色区分目录和文件呢,见下截图。 4. exa 一个 ls 的替代品,拥有更友好的色彩更丰富的输出,同时支持更丰富的选项。...# 支持查看 git 情况 $ exa -lah --git 5. tree tree,以树状图的形式列出文件。 该命令需要手动下载。...作业 熟悉 cd、pwd、ls、exa、tree 等命令 在 ls 单指令列出文件列表时为何不显示 .git 目录,应如何显示 在 Node.js 或其它语言中如何获得 pwd 在 Node.js 或其它语言中如何获得

    1.1K60

    学习PHP中的目录操作

    学习PHP中的目录操作 对于编程语言来说,文件和目录的操作是其最最基础的功能。就像我们日常中最常见的图片上传、文件上传之类的功能,都需要文件和目录操作的支持。...面向过程 Directory 操作 接下来我们就看看使用面向过程的方式如何获取目录里面的内容,我们同样还是查看相同的这个目录,输出和上面面向对象的方式中同样的信息。...opendir() 是打开一个给定路径的目录句柄,其实就类似于 dir() 函数来获得 Directory 对象,不过需要注意的是,opendir() 函数返回的是一个句柄资源对象,不是 Directory...最后就是 closedir() 函数,同样也是关闭一个句柄资源的函数。 其它目录路径操作 除了遍历查看目录之外,还有其它一些函数辅助我们获得目录相关的信息。...,它的参数必须是一个绝对路径,能够以数组的形式返回所有的内容,在某些情况下非常地方便好用。

    91110

    【生信菜鸟经】如何系统入门Perl

    大小骆驼书,建议都看完,以囫囵吞枣的方式阅读,只看基础知识来入门,难点全部跳过。...node_id=738558,就是需要理解你写的程序是如何判断你的变量的,你以为的不一定是你以为的。...} 这是我最喜欢的一个程序模板,读取文件,根据需要处理文件,然后输出。需要实现非常多的功能,然后就可以自己总结脚本技巧,也能完全掌握perl的各种语法。在生物信息学领域,需要实现的功能有!...系统命令调用 文件句柄操作(STDIN,STDOUT,STDERR,ARGV,DATA,) 系统文件管理(mkdir/chdir/opendir/closedir/readdir/telldir/rmdir...程序调试 perl常见模块学习 perl和LWP/HTML做网络爬虫必备,重点是DOM如何解析; perl和CGI编程,做网站的神器,重点是html基础知识; DBI相关数据库,用perl来操作mysql

    1.8K90

    linux 学习笔记七

    命令可以是下面四种形式之一: 1.0 是一个可执行程序,就像我们所看到的位于目录/usr/bin 中的文件一样。...属于这一类的程序,可以编译成二进制文件,诸如用 C 和 C++语言写成的程序, 也可以是由脚本语言写成的程序,比如说 shell,perl,python,ruby,等等。...但 whereis 命令只能搜索可执行文件、联机帮助文件和源代码文件,如果要获得更全面的搜索结果,可以使用 locate 命令 locate [选项] [搜索字符串] ➜ ~ locate /home...wc 命令 wc 命令是一个统计的工具,主要用来显示文件所包含的行、字和字节数。...-L 打印最长行的长度 ➜ 文档 wc -c 新文件 297 新文件 ➜ 文档 wc -l 新文件 10 新文件 ➜ 文档 wc -m 新文件 169 新文件 笔记来自实验楼,一个比较喜欢的地方

    88850

    Golang 递归获取目录下所有文件

    文章目录 1.问题 2.io/ioutil 3.递归获取 4.包含符号链接的情况 5.同时返回目录的路径 6.go-huge-util 参考文献 1.问题 如果我想获取一个目录下的所有文件列表,使用 Golang...比如有个目录 dir 结构如下: tree dir dir ├── bar.txt ├── foo.txt └── subdir └── baz.txt 那么如何获取 dir 目录下的所有文件路径呢...3.递归获取 如果想递归获子目录的内容,该如何实现呢? 我们可以递归的调用我们自己的函数,来递归遍历子目录。...4.包含符号链接的情况 如果我们此时在目录 dir 中加入一个符号链接,指向另外一个目录,那结果会如何呢?...5.同时返回目录的路径 有时,我们还需要目录路径,即获取指定目录下的文件和子目录的路径。比如在对一个目录进行压缩时会需要。

    3.1K30

    百万级文件遍历的奇技淫巧

    1.问题背景 在Linux下当我们操作一个文件数较少的目录时,例如执行ls列出当前目录下所有的文件,这个命令可能会瞬间执行完毕,但是当一个目录下有上百万个文件时,执行ls命令会发生什么呢,带着疑问,我们做了如下实验...1000000个小文件的目录下的文件个数花费了将近6秒的时间,那么文件个数多造成ls缓慢的原因是什么呢,且听我们详细分析。...ls会首先调用opendir打开一个目录,然后循环调用readdir这个glibc中的函数直到遇到目录流的结尾,也即读完所有的目录项(dentry)为止。...我们首先看一下man page里面对于readdir的定义: struct dirent *readdir(DIR *dirp); readdir返回一个指向dirent结构体的指针,指向目录流dirp...总结 其实不止是ls命令,其他一些命令如rm -r等的实现中都会用到glibc中的readdir函数,所以如果遇到操作百万级文件的大目录这种场景(当然实践中不提倡一个目录下放这么多文件),不妨直接调用getdents

    2K30

    《Perl语言入门》——读书笔记

    位运算符 十三章 目录操作符 chdir 文件名通配符 目录句柄 opendir readdir closedir 递归访问目录 File::Find 删除文件 unlink 重命名/移动文件 rename...茁壮成长:无论是你的教师还是书籍,亦或是视频都只能作为你的引路者,路最终如何走,走得如何还是得看你自己。...但是对文件系统有一点经验的人都知道,(至少在Unix类似的操作系统下)没有任何地方会告诉你它是二进制文件还是文本文件,那么Perl是如何办到的呢?...答案是Perl会作弊: 先打开文件,检查开头的几千个字节,然后作出一个合理的猜测。...位运算符 十三章 目录操作符 chdir 文件名通配符 目录句柄 opendir readdir closedir 递归访问目录 File::Find 删除文件 unlink 重命名/移动文件 rename

    2.5K20

    PHP技能评测(二)

    2、写一个函数,能够遍历一个文件夹下的所有文件和子文件夹(几乎每个公司面试都有这个,公司也是网上找题的^_^) function _directory($dir) {     $files = array...();     if($handle = opendir($dir)) //若没有打开目录句柄会返回一个false;     {         //readdir($handle) 返回目录文件名         ...== false){ //明确的指出是否全等,因为任何一个目录值的名为false都会终止程序执行,比如目录"0"             if($file != ".." && $file !...确定硬件是否支持此流量 优化数据库 缓存技术 (前端缓存,redis, memcache后端缓存减少mysql请求) 禁止外部盗链 控制大文件下载 使用负载均衡架构服务器 5、多台服务器如何共享session...3、在php.ini中开启opcache性能加速 【写PHP代码需要注意的】 4、循环内部不要声明变量,尤其是大变量:对象(这好像不只是PHP里面要注意的问题吧?)

    48720

    Linux下的文件IO编程

    ) 读取文件(read) 写入文件(write) 定位文件(lseek) 访问目录(opendir/readdir) 关闭目录(closedir) 修改文件属性(chmod/fchmod) 获取文件属性...参数2:打开方式 成功时返回文件描述符;出错时返回EOF 打开文件时使用两个参数 创建文件时第三个参数所指定新文件的权限 只能打开设备文件 示例1: 以只写的方式打开1.txt。...offset和参数whence同fseek完全一样 访问目录(opendir/readdir) opendir函数用来打开一个目录文件: #include DIR *opendir...(const char *name); DIR是用来描述一个打开的目录文件的结构体类型 成功时返回目录流指针;出错时返回NULL readdir函数用来读取目录流中的内容: #include struct sirent *readdir(DIR *dirp); struct dirent是用来描述目录流中一个目录项的结构体类型 包含char d_name[256]等成员 成功时返回目录流

    2.5K10

    百万级文件遍历的奇技淫巧

    1.问题背景 在Linux下当我们操作一个文件数较少的目录时,例如执行ls列出当前目录下所有的文件,这个命令可能会瞬间执行完毕,但是当一个目录下有上百万个文件时,执行ls命令会发生什么呢,带着疑问,我们做了如下实验...1000000个小文件的目录下的文件个数花费了将近6秒的时间,那么文件个数多造成ls缓慢的原因是什么呢,且听我们详细分析。...我们首先看一下man page里面对于readdir的定义: struct dirent *readdir(DIR *dirp); readdir返回一个指向dirent结构体的指针,指向目录流dirp...中的下一个目录项,所以在print_dir的循环中,每次从目录流中取出一个目录项并赋值给next变量。...总结 其实不止是ls命令,其他一些命令如rm -r等的实现中都会用到glibc中的readdir函数,所以如果遇到操作百万级文件的大目录这种场景(当然实践中不提倡一个目录下放这么多文件),不妨直接调用getdents

    5.3K50

    ES6 系列之异步处理实战

    作者:冴羽 ,原文:https://github.com/mqyqingfeng/Blog/issues/101 前言 我们以查找指定目录下的最大文件为例,感受从 回调函数 -> Promise ->...API 介绍 为了实现这个功能,我们需要用到几个 Nodejs 的 API,所以我们来简单介绍一下。 fs.readdir readdir 方法用于读取目录,返回一个包含文件和目录的数组。...fs.stat stat 方法的参数是一个文件或目录,它产生一个对象,该对象包含了该文件或目录的具体信息。此外,该对象还有一个 isFile() 方法可以判断正在处理的到底是一个文件,还是一个目录。...思路分析 我们基本的实现思路就是: 用 fs.readdir 获取指定目录的内容信息 循环遍历内容信息,使用 fs.stat 获取该文件或者目录的具体信息 将具体信息储存起来 当全部储存起来后,筛选其中的是文件的信息...,读完 1 个文件信息,计数减 1,当为 0 时,说明读取完毕,此时执行最终的比较操作 if (--counter == 0) {

    35220
    领券