美文网首页
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