您的位置:首页 > 编程语言 > Java开发

【Java API】java获取文件大小的方法&java删除所有文件

2017-07-21 10:49 549 查看
很基础的一篇文章,获取一个目录下文件的大小

一开始看File类的方法

file.getTotalSpace() //获取当前file所在分区的总大小,单位是字节
file.getUsableSpace()//获取当前file所在分区的可用大小,单位是字节
file.getFreeSpace()//获取当前file所在分区的剩余大小,单位是字节


  这几个方法并不能获取file下所有文件的大小,只能获取file所在分区的信息,getUsableSpace()和getFreeSpace()一个是可用大小一个是剩余大小,有人会说剩余大小不就是可用大小么?其实不一定所有的剩余空间我们都可用,有一些是留给系统来存放一些信息的。

  那么如何获取这个file目录下的大小呢?不废话上代码!

public static long getFileSize(File file) {
if (file == null) {
return 0;
}
long totalsize = 0;
if (file.isDirectory()) {

File[] files = file.listFiles();
int length = files.length;
for (int i = 0; i < length; i++) {
File f = files[i];
if (f.isDirectory()) {//如果是文件夹就递归调用
totalsize += getFileSize(f);
} else {
totalsize += f.length();
}
}
} else {
totalsize = file.length();
}
return totalsize;
}


另外这个方法稍加改造就能变成删除这个目录下所有文件

public static void clearFile(File file) {
if (file == null) {
return;
}
if (file.isDirectory()) {

File[] files = file.listFiles();
int length = files.length;
for (int i = 0; i < length; i++) {
File f = files[i];
if (f.isDirectory()) {
clearFile(f);
f.delete();
} else {
f.delete();
}
}
} else {
file.delete();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java api