用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代码如何查看本地一个文件的大小的主要内容,如果未能解决你的问题,请参考以下文章

用CLion2022查看java native方法源代码

Centos7 如何配置本地yum源

MAP文件如何查看

如何在dos下查看磁盘分区和大小

如何查看oracle数据文件大小

如何查看git提交到本地的文件