用java代码如何查看本地一个文件的大小
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用java代码如何查看本地一个文件的大小相关的知识,希望对你有一定的参考价值。
查看本地一个文件的大小,比如文件是D:\soft\haha.rar,如何查看它的打下,请知道的解答一下,谢啦
public static void getFileSize(String path)//传入文件路径
File file = new File(path);
//测试此文件是否存在
if(file.exists())
//如果是文件夹
//这里只检测了文件夹中第一层 如果有需要 可以继续递归检测
if(file.isDirectory())
int size = 0;
for(File zf : file.listFiles())
if(zf.isDirectory()) continue;
size += zf.length();
System.out.println("文件夹 "+file.getName()+" Size: "+(size/1024f)+"kb");
else
System.out.println(file.getName()+" Size: "+(file.length()/1024f)+"kb");
//如果文件不存在
else
System.out.println("此文件不存在");
参考技术A File f= new File("你的文件路径");
system.out.println(f.length());
以上就是通过length获取文件的字节数。 参考技术B public static void getFileSize(String path)
//传入文件路径
File file = new File(path);
//测试此文件是否存在
if(file.exists())
//如果是文件夹
//这里只检测了文件夹中第一层 如果有需要 可以继续递归检测
if(file.isDirectory())
int size = 0;
for(File zf : file.listFiles())
if(zf.isDirectory()) continue;
size += zf.length();
System.out.println("文件夹 "+file.getName()+" Size: "+(size/1024f)+"kb");
else
System.out.println(file.getName()+" Size: "+(file.length()/1024f)+"kb");
//如果文件不存在
else
System.out.println("此文件不存在");
参考技术C FileInputStream fis=new FileInputStream(new File(filepath));
System.out.println(fis.available());
当然里面需要处理下异常本回答被提问者采纳 参考技术D io里面的file类,就可以了
如何查看文件夹大小
电脑磁盘快满了,但是不知道哪个文件夹占用了大量的资源,怎么办?
如图,看不到文件的大小。
看百度经验给的数据是这样的,按照指示一看自己的也是这样的,并没有完全的展示出来。
为了更好的查看数据,上代码:
扩展点:迭代器,正向迭代,反向迭代,对迭代器感兴趣可以研究一下list的反向迭代,本来考虑用 冒泡,不过写起来麻烦,用map同样可以实现这个效果。
首先集成hutool工具包
<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.0.7</version> </dependency>
import cn.hutool.core.io.FileUtil; import java.io.File; import java.util.*; public class FileUtils public static void main(String[] args) File[] ls = FileUtil.ls("D:\\\\"); Map<Long,String> maps=new TreeMap<Long,String>(); for (int i = 0; i < ls.length; i++) File file = ls[i]; String name = file.getName(); long size = FileUtil.size(file); maps.put(size,name); Set<Map.Entry<Long, String>> entries = maps.entrySet(); Iterator<Map.Entry<Long, String>> iterator = entries.iterator(); TreeSet<Long> ts = new TreeSet<>(); while (iterator.hasNext()) Map.Entry<Long, String> next = iterator.next(); Long size = next.getKey(); ts.add(size); Iterator<Long> descendingIterator = ts.descendingIterator(); while (descendingIterator.hasNext()) //获取到的size值 Long size = descendingIterator.next(); String name = maps.get(size); System.out.println(name+"<--->"+size/1024+"KB"+"-->"+size/1024/1024+"MB"+"------------->"+size/1024/1024/1024+"GB");
控制台输出:
视频课程<--->409078798KB-->399491MB------------->390GB eshop_data<--->27749934KB-->27099MB------------->26GB 鬼吹灯全集-艾宝良<--->19511811KB-->19054MB------------->18GB 下载安装包说明与备份<--->11923339KB-->11643MB------------->11GB PR<--->4131205KB-->4034MB------------->3GB ai_hl<--->4108954KB-->4012MB------------->3GB qq<--->2657023KB-->2594MB------------->2GB Thunder<--->1115450KB-->1089MB------------->1GB DingDing<--->1074739KB-->1049MB------------->1GB edraw<--->896023KB-->875MB------------->0GB 复盘<--->888912KB-->868MB------------->0GB WeChat<--->865241KB-->844MB------------->0GB musicDoload<--->809125KB-->790MB------------->0GB BaiduNetdisk<--->641792KB-->626MB------------->0GB vwpro<--->507676KB-->495MB------------->0GB yinxiang<--->432783KB-->422MB------------->0GB 安装包<--->387943KB-->378MB------------->0GB tengxunhuiyi<--->338161KB-->330MB------------->0GB Foxmail 7.2<--->332984KB-->325MB------------->0GB XMind<--->310908KB-->303MB------------->0GB QQLive<--->233661KB-->228MB------------->0GB apiPost<--->212871KB-->207MB------------->0GB qqmusic<--->206833KB-->201MB------------->0GB Typora<--->193746KB-->189MB------------->0GB 电商<--->175536KB-->171MB------------->0GB 中转站<--->168334KB-->164MB------------->0GB PicGo<--->166439KB-->162MB------------->0GB Youdao<--->156818KB-->153MB------------->0GB CloudMusic<--->135365KB-->132MB------------->0GB 嗨格式录屏大师<--->100947KB-->98MB------------->0GB QQPlayer<--->96450KB-->94MB------------->0GB everything<--->63231KB-->61MB------------->0GB Snipaste-2.7-Beta-x64<--->52931KB-->51MB------------->0GB 电子书<--->42807KB-->41MB------------->0GB 架构学习资料<--->37697KB-->36MB------------->0GB rocketmq<--->19497KB-->19MB------------->0GB AHK中文文档<--->18672KB-->18MB------------->0GB 系统激活工具<--->15244KB-->14MB------------->0GB windows_amd64<--->12264KB-->11MB------------->0GB Notepad++<--->11975KB-->11MB------------->0GB 录屏软件<--->6982KB-->6MB------------->0GB windows_amd64.zip<--->6319KB-->6MB------------->0GB TrafficMonitor_V1.79.1_x64<--->5859KB-->5MB------------->0GB 系统激活工具.zip<--->5773KB-->5MB------------->0GB 7z<--->5082KB-->4MB------------->0GB Everything-1.4.1.1000.x64.zip<--->1556KB-->1MB------------->0GB Haozip<--->715KB-->0MB------------->0GB LICEcap<--->514KB-->0MB------------->0GB 人行征信报告-2021-4-16.pdf<--->133KB-->0MB------------->0GB 人行征信报告-2020-12-05.pdf<--->128KB-->0MB------------->0GB RevokeMsgPatcher.v1.1<--->127KB-->0MB------------->0GB RevokeMsgPatcher.v1.0<--->124KB-->0MB------------->0GB 从0开始学java<--->107KB-->0MB------------->0GB RevokeMsgPatcher.v1.1.zip<--->47KB-->0MB------------->0GB yingxionglianmeng<--->20KB-->0MB------------->0GB Repository<--->2KB-->0MB------------->0GB $RECYCLE.BIN<--->0KB-->0MB------------->0GB System Volume Information<--->0KB-->0MB------------->0GB
本文来自博客园,作者:三号小玩家,转载请注明原文链接:https://www.cnblogs.com/q1359720840/p/15865056.html
以上是关于用java代码如何查看本地一个文件的大小的主要内容,如果未能解决你的问题,请参考以下文章