java中如何获取文件占用空间

fredsuvn 发布于 2016/09/05 13:10
阅读 675
收藏 0
java中如何获取文件占用空间,不是文件大小
加载中
0
钟丶2019
钟丶2019
File ff = new File(path);
FileInputStream fis = new FileInputStream(f);
long s= fis.available();
f
fredsuvn
available只提供int尺度的长度,而且也不是占用空间,是实际字节数
0
JoeyXie
JoeyXie
我只会windows下按公式算...貌似windows是以4KB为一个簇的,例如文件是1KB或者3KB的话,占用空间都是4KB,文件大小为26KB,则占用空间为28KB,以此类推
0
Eric_林
Eric_林

好像没有API,只能通过file.length()方法返回实际大小,再根据文件系统簇大小去转换

另外,不同的文件系统簇的大小是不是不一样,待考察

ps:不推荐使用,下面这个方法获取,它返回是int,最大只支持1,99G文件

FileInputStream fis = new FileInputStream(f);
long s= fis.available();

返回顶部
顶部