美文网首页
Java 获取文件大小

Java 获取文件大小

作者: wind_sky | 来源:发表于2019-08-08 11:41 被阅读0次

通过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) { 
}

相关文章

网友评论

      本文标题:Java 获取文件大小

      本文链接:https://www.haomeiwen.com/subject/ztatjctx.html