java 中如何获取文件的大小呢?
有两种方式
方式一:使用File 的length()方法;
方式二:使用FileInputStream的available()方法;
实例:
@Test public void test01() throws IOException { String filepath = "d:\\bin\\pushpoxy-0.0.1-SNAPSHOT.jar"; System.out.println("File has " + new File(filepath).length()+ " bytes"); FileInputStream fis = null; fis = new FileInputStream(filepath); System.out.println("File has " + fis.available() + " bytes"); }
运行结果 :
File has 29061936 bytes
File has 29061936 bytes
其实这两个方法时有区别的;
File 的length()方法 是获取文件所占硬盘空间大小;
FileInputStream的available()方法是还有多少字节可以读取.
available()方法的说明如下:
Returns an estimate of the number of remaining bytes that can be read (or skipped over) from this input stream without blocking by the next invocation of a method for this input stream. The next invocation might be the same thread or another thread. A single read or skip of this many bytes will not block, but may read or skip fewer bytes.
我们把上面的程序稍微修改一下:
@Test public void test01() throws IOException { String filepath = "d:\\bin\\pushpoxy-0.0.1-SNAPSHOT.jar"; System.out.println("File has " + new File(filepath).length()+ " bytes"); FileInputStream fis = null; fis = new FileInputStream(filepath); byte[]bytes=new byte[10]; fis.read(bytes); System.out.println("File has " + fis.available() + " bytes"); fis.skip(-10); System.out.println("File has " + fis.available() + " bytes"); }
执行结果如下:
File has 29061936 bytes
File has 29061926 bytes
File has 29061936 bytes
总结:获取文件大小时建议使用File 的length()方法
相关推荐
Java获取文件夹大小、文件大小,文件个数.doc
主要介绍了java获取文件大小的几种方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
这个文件中包含测试的Demo和需要的jar包,Demo中有两种方式来获取视频的分辨率,大小等基本信息,简单易上手,亲测有效,没效你顺着网线过来da我
Java获取文件夹大小、文件大小,文件个数[文].pdf
java获得文件夹或者文件的大小,如果要获得磁盘大小用jconfig效率更高.mht
用Java实现获取文件信息,可以获得文件所在的路径名,还可以获得文件的大小,
获取ftp服务器文件的大小,从而可以设置下载的进度条
获取FTP服务器上的文件大小源码 只需修改服务器地址 用户名及密码
基于jdk7或以上java版本的文件夹大小统计功能实现,相对于传统的java获取文件再计算大小的方式要快速很多,支持统计指定类型,是否统计子文件夹
Java获取文件或文件夹信息(输入一个绝对路径,可返回对应的信息),用Eclipse导入。
获取某路径下文件名、大小、修改时间、类型, 然后自己创建个实体类,在打印位置将文件属性set到实体类的相对应属性。原谅小弟收积分。我也是想赚点积分学习而已。提倡大家免积分分享。走向真正的开源。。。。
Java 获取视频时长、格式、大小需要的jar jave-1.0.2
JAVA 根据Url 接口 获取文件名称和类型,亲测可用。输入参数地址即可。
NULL 博文链接:https://zhaoshijie.iteye.com/blog/804517
这是一个完整的myeclipse项目,主要实现的功能有: 1.用java获取wave类型的音频文件头信息; 2.根据传入参数截取指定时间段内的音频片段 改资源为本人原创,下载后导入myeclipse可以直接运行
用JAVA获取视频文件中的帧图片并等比缩放,java 获取视频中图片 缩放比例 javacv
# java实现对文件的各种操作的工具类 ## 可以实现的操作有: 1. 删除单个文件 2. 删除文件夹及文件夹下的文件 3. 使用文件流对单个文件进行复制 ... 4.... 5.... 6. 新建文件 ... 获取文件或文件夹的大小
文件上传工具类,上传文件,上传导入文件到path文件夹下,判断图片大小是否超过要求,上传多张图片到服务器,上传图片到服务器,上传文件(在指定目录下创建年月日目录),上传导入文件到temp文件夹下,删除指定...
minio 兼容Amason的S3分布式对象存储项目,采用Golang实现,客户端支持Java,Python,Javacript, Golang语言。Minio可以做为云存储的解决方案用来保存海量的图片,视频,文档。由于采用Golang实现,服务端可以工作在...