• java获取文件大小


    1.使用File的length()方法获取。这个方法获取的字节数,由于返回的是Long类型所以能返回的最大值是Long.MAX_VALUE

            File file = new File(
                    "D:\迅雷下载\名侦探柯南:业火的向日葵.修复版.Meitantei.Conan.Goka.no.himawari.2015.HD720P.X264.AAC.Japanese.CHS.Mp4Ba\名侦探K南:业H的向日葵.修复版.Meitantei.Conan.Goka.no.himawari.2015.HD720P.X264.AAC.Japanese.CHS.Mp4Ba.mp4");
            long length = file.length();
            System.out.println(length);// 2337588477生成的文件的大小
            System.out.println(Long.MAX_VALUE);// 9223372036854775807 long类型的最大值
            System.out.println("--------------------------------");

    2.使用FileInputStream的available()方法.返回的字节数和Integer.MAX_VALUE的最大值相同。由于返回值是int类型的所以这个方法只支持小于Integer.MAX_VALUE的方法,大于的话就不准确了

            FileInputStream is = new FileInputStream(file);
            int available = is.available();
            System.out.println(available); // 2147483647
            System.out.println(Integer.MAX_VALUE);// 2147483647
            System.out.println("--------------------------------");

    3.使用java.nio.*下的FileChannel工具.使用FileChannel后得到的结果与第一种情况吻合,准确地描述了文件的准确大小。

            System.out.println("--------------------------------");
            FileChannel channel = is.getChannel();
            long size2 = channel.size();
            System.out.println(size2);// 2337588477
            System.out.println("-----------------------------------");

    File的length()方法与FileChannel的size方法返回的值是long类型的,long类型能表示的整数的最大值是9223372036854775807 ,支持的最大文件大小大约为8954730132868714 EB。FileInputStream的avaliable()方法返回的值是int类型的,所能支持的最大文件大小为1.99G,所以在选择文件校验的时候请谨慎选择。较大文件还是使用第一种和第三种方法

    其他方法:

    如果是在web项目中使用spring来管理文件 可以采用下面的方法

    File file = new File("D:\迅雷下载\名侦探柯南:业火的向日葵.修复版.Meitantei.Conan.Goka.no.himawari.2015.HD720P.X264.AAC.Japanese.CHS.Mp4Ba\名侦探K南:业H的向日葵.修版.Meitantei.Conan.Goka.no.himawari.2015.HD720P.X264.AAC.Japanese.CHS.Mp4Ba.mp4");
     MultipartFile file1 = (MultipartFile) file;
     long size = file1.getSize();
     System.out.println(size);//2337588477

    参考博客

  • 相关阅读:
    多表查询+多对多 三表连查+子查询
    几个重要的关键字where+group by +having +order by + limit
    拷贝表 *** 与******
    一对一关系的补充
    几种基本的约束和外键(一对一 多对多 多对一)级联关系
    创建表的完整语法 数字类型(整型 浮点型) 字符型 时间和日期类型 集合和枚举类型
    随记Litter note
    视图 触发器 事务(重要) 存储过程 内置函数 流程控制 索引
    luogu P2774 方格取数问题
    luogu P4014 分配问题
  • 原文地址:https://www.cnblogs.com/dashuai01/p/5124583.html
Copyright © 2020-2023  润新知