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

参考博客

java获取文件大小的更多相关文章

  1. java获取文件大小的方法

    目前Java获取文件大小的方法有两种: 1.通过file的length()方法获取: 2.通过流式方法获取: 通过流式方法又有两种,分别是旧的java.io.*中FileInputStream的ava ...

  2. Java获取文件大小的正确方法(转)

    Java中获取文件大小的正确方法 2014-03-28 14:03 64507人阅读 评论(9) 收藏 举报  分类: Java笔记(36)  研究成果(42)  版权声明:本文为博主原创文章,未经博 ...

  3. Java中获取文件大小的正确方法

    本文出处:http://blog.csdn.net/djy1992/article/details/51146837,转载请注明.由于本人不定期会整理相关博文,会对相应内容作出完善.因此强烈建议在原始 ...

  4. Java如何从服务器获取文件大小?

    在Java编程中,如何从服务器获取文件大小? 以下示例演示如何从服务器获取文件大小. package com.yiibai; import java.net.URL; import java.net. ...

  5. 牛客网Java刷题知识点之File对象常用功能:获取文件名称、获取文件路径、获取文件大小、获取文件修改时间、创建与删除、判断、重命名、查看系统根目录、容量获取、获取某个目录下内容、过滤器

    不多说,直接上干货! 获取文件名称.获取文件路径.获取文件大小.获取文件修改时间 FileMethodDemo.java package zhouls.bigdata.DataFeatureSelec ...

  6. Java 读取网络资源文件 获取文件大小 MD5校验值

    Java 读取网络资源文件 获取文件大小 MD5校验值 封装一个文件操作工具类: package c; import java.io.*; import java.net.HttpURLConnect ...

  7. java获取https网站证书,附带调用https:webservice接口

    一.java 获取https网站证书: 1.创建一个java工程,新建InstallCert类,将以下代码复制进去 package com; import java.io.BufferedReader ...

  8. 客户端用javascript获取文件大小

    客户端用javascript获取文件大小 1 ie实现代码如下: <script type="text/javascript" language="javascri ...

  9. python获取文件大小

    python获取文件大小 # !/usr/bin/python3.4 # -*- coding: utf-8 -*- import os # 字节bytes转化kb\m\g def formatSiz ...

随机推荐

  1. redis主从 哨兵

    entinel是redis高可用的解决方案,sentinel系统(N个sentinel实例,N >= 1)可以监视一个或者多个redis master服务,以及这些master服务的所有从服务: ...

  2. CodeSmith使用总结--下拉列表和文件夹对话框属性

    上一篇有点短了,因为实在没有什么可说的,这一篇会多一点.O(∩_∩)O~ 一.下拉列表 关于如何在CodeSmith中创建一个下拉列表的属性框其实很简单,是要使用C#中的枚举就行了,看操作. 首先定义 ...

  3. 返回ipv 地址

    //返回ipv 地址 public static string GetIP4Address() { string IP4Address = String.Empty; foreach (IPAddre ...

  4. 不安装开发环境,查看logcat日志

    #公司的测试终于想到要看 android 的日志.安装开发环境太麻烦了,这里有个简单的办法. 我把\sdk\platform-tools目录中,文件名以"adb"开头的三个文件打包 ...

  5. Windows下使用ODBC API访问数据库之关键

    本文采用SQL2005 + VS2008环境,以ODBC API方式成功连接数据库. 1.SQL安装和环境配置 这部分网上随便搜一下都有很多资料,而且很容易就可以配置成功. 注意的关键点: SA账号配 ...

  6. C语言中的sizeof和strlen

    1.sizeof是算符,strlen是函数: 2.sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以''\0''结尾的: 3.大部分编译程序,在编译的时候就把sizeof计算 ...

  7. vc远程调试启动进程(非attach)

    被调试端设置同attach进程方式的远程调试 代码端,需要在[Project] [Properties] [Configuration Properties] [Debugging].将Debugge ...

  8. set用法总结

    set集合用于存放不重复的元素 template <class Key, class Compare = less<Key>, class Alloc = alloc> cla ...

  9. JWeb备忘录

    一.好记性不如赖笔头-- 工具类: JUnit4使用  MyEclipse快捷键 知识点: JAVA反射 JavaSe教程  Java5新特性  Java6新特性  Java7新特性  Java8新特 ...

  10. MySQL查看当前连接数、连接数和最大连接数

    MySQL查看当前所有连接的详细资料: mysqladmin -u root -p processlist MySQL查看当前连接数(Threads为连接数) mysqladmin -u root - ...