ios和java 获取文件大小_Java 获取文件大小

通过Java 代码获取文件大小可以有两种方法:

// bigFile.iso 是一个4G 大小的镜像文件

// 1 是调用File 的length 方法

File file = new File("/test/bigFile.iso");

System.out.println(file.length());

// 2 是通过FileInputStream 的available 方法

try {

File file = new File("/test/bigFile.iso");

FileInputStream is = new FileInputStream(file);

System.out.println(is.available());

} catch (IOException e) {

}

但是两个方法有一个区别就是,length 返回的是long 类型,而available 返回的是int 类型,而int 的最大值是 2^32,对应到文件大小也就是 2 G,所以如果一个文件的大小超过 2 G,那么available 方法是无法得到正确结果的。

如果仍然要通过文件流来获取文件的大小,可以使用java.nio.*下的新工具——FileChannel ,调用FileChannel 的size 方法。

try {

FileInputStream is = new FileInputStream(file);

FileChannel fc = is.getChannel();

System.out.println(fc.size());

} catch (IOException e) {

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值