某些场景下需要编程人员自己校验上传文件的大小,在校验之前需要获取文件的大小,以下是获取文件大小的一些方式
-
文件以File形式存在
使用java.io.File#length
方法获取文件的大小(以字节为单位)
-
文件以InputStream形式存在
通过java.io.FileInputStream#available
获取文件大小。但是该方法的返回值类型是int
,可表示的范围比较小,若在计算大文件时该方法得到结果不准确
通过
java.nio.channels.FileChannel#size
获取文件大小。该方法的返回值类型和java.io.File#length
的返回值类型都是long
,可表示的范围更大 -
文件以MultipartFile形式表示
通过org.springframework.web.multipart.MultipartFile#getSize获取文件大小
通过分析源码,该方法也是通过
java.io.File#length
的方式获取文件大小