Java 获取文件大小
Java 获取文件大小
本文介绍几种方法获取文件大小,分别是java io 和 nio 以及第三方库实现。
标准的java io
首先开始一个简单实例计算文件大小,使用File.lenght()方法:
private long getFileSize(File file) {long length = file.length();return length;
}
需要注意的是,默认返回的文件大小单位是字节(byte)。文件不存在返回0L。没有权限抛异常SecurityException。
使用 java NIO
下面我们看如何使用NIO库实现,通过 FileChannel.size() 方法获取文件大小:
Path imageFilePath = Paths.get("src/test/resources/image.jpg");FileChannel imageFileChannel = FileChannel.open(imageFilePath);long imageFileSize = imageFileChannel.size();
同样单位也是字节(byte)。
使用Apache Commons IO
下面看如何使用Apache Commons IO获取文件大小,调用FileUtils.sizeOf()方法:
File imageFile = new File("src/test/resources/image.jpg");long size = FileUtils.sizeOf(imageFile);
注意,如果文件没有权限,该方法返回0.
文件大小转换
最后,我们看如何获得用户可读方式表示文件大小,使用Apache Commons IO – 不仅显示字节单位:
@Test
public void whenGetReadableFileSize_thenCorrect() {File imageFile = new File("src/test/resources/image.jpg");long size = getFileSize(imageFile);assertEquals("12 KB", FileUtils.byteCountToDisplaySize(size));
}
文件实际大小为12607字节,返回结果为12 KB。
总结
本文我们通过几种方式获取文件大小,并转换为用户可读方式表示。
Java 获取文件大小相关推荐
- java获取文件大小_Java中获取文件大小的详解及实例代码
Java 获取文件大小 今天写代码时需要实现获取文件大小的功能,目前有两种实现方法,一种是使用File的length()方法:另外一种是使用FileInputStream的available()方法, ...
- java获取文件大小_Java获取文件大小
java获取文件大小 Today we will look into different ways to get file size in Java. 今天,我们将研究使用Java获取文件大小的不同方 ...
- java获取文件大小的方法
目前Java获取文件大小的方法有两种: 1.通过file的length()方法获取: 2.通过流式方法获取: 通过流式方法又有两种,分别是旧的java.io.*中FileInputStream的ava ...
- java中测长度的方法,java获取文件大小的几种方法
目前java获取文件大小的方法有两种: 1.通过file的length()方法获取: 2.通过流式方法获取: 通过流式方法又有两种,分别是旧的java.io.*中fileinputstream的ava ...
- java获取文件大小_Java实现获取文件大小的几种方法
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 目前Java获取文件大小的方法有两种: 1.通过file的length()方法获取: 2.通过流式方法获取: 通过流式方法又有两种,分别是旧的java.i ...
- Java获取文件大小
一.通过length方法: 1.创建一个文件: 1 File file = new File("E:\\全部软件\\软件压缩包\\Windows7_W64_SP1_ent.iso" ...
- java 获取文件大小_利用百度AI OCR图片识别,Java实现PDF中的图片转换成文字
序言:我们在读一些PDF版书籍的时候,如果PDF中不是图片,做起读书笔记的还好:如果PDF中的是图片的话,根本无法编辑,做起笔记来,还是很痛苦的.我是遇到过了.我们搞技术的,当然得自己学着解决现在的痛 ...
- java 获取文件大小_阿里Java后端开发面经,面试官都替我感到绝望
点关注,不迷路:持续更新Java相关技术及资讯!!! 内容源于群友投稿!记录一次阿里Java后端开发面经,分享给大家,感谢支持! 前言 秋招面试的第一家公司,也是第一次面试,真的超级紧张,从自我介绍到 ...
- Java获取文件大小,文件夹内文件个数的工具类
package cn.edu.hactcm.cfcms.utils; import java.io.File; import java.io.FileInputStream; import java. ...
最新文章
- 迪杰斯特拉算法——PAT 1003
- Uploadify 上传插件引起Chrome崩溃解决方法
- Sql Server导出表结构Excel
- leetcode算法题--二进制中1的个数
- 记录docker开发hadoop,解决bug Datanode denied communication with namenode because hostname cannot be
- Google 在开源上的贡献
- 有向无环图拓扑排序(python实现)
- 使用说明 思迅收银系统_使用自助收银系统让消费者自助结算更便捷高效?
- java代码测试---插入排序和选择排序
- 数据中台、数据仓库和数据湖传统的区别
- 5G网络出现打乱传统网络范式,AI驱动+区块链能搞出啥新花样?
- 我的程序员之路(英语的学习)
- Mac墨刀怎么导出HTML,mockingbot墨刀中文使用说明.pdf
- HP笔记本电脑如何设置屏幕亮度
- 微信支付商户平台的apikey与公众平台的appsecret的区别
- 计算机处理器天梯,cpu天梯图2020_笔记本cpu天梯排名图2020
- windows无法连接到某个wifi_Windows7无法连接到网络几招解决无线网络办法
- NPOI导出EXCEL 合并单元格、统计列、单元格样式设置
- 蒙特卡罗(Monte Carlo)方法计算圆周率π
- 干货:机器学习模型训练全流程!
热门文章
- html标签logo图片怎么添加上去的
- UE4/UE5获取时间戳和两个时间戳的差
- C# 全局热键设置 与 窗体热键设置
- 用c语言写的新年搞笑祝福程序,新年微信红包搞笑句子_2020新年幽默微信红包祝福语...
- 【大数据】十、社会网络图挖掘(Girvan-Newman、拉普拉斯矩阵、Simrank)
- app-crawler
- 【2020春招美团前端面试的尴尬】日常尴尬的菜鸡时刻,面试官辛苦了。。。
- CocosCreator之KUOKUO带你做个加速带!起飞!
- 一个很不错的在线视频网站
- helm 中共享 tpl 写法