JAVA 对文件夹下所有文件按文件大小进行排序,请问哪里有问题?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA 对文件夹下所有文件按文件大小进行排序,请问哪里有问题?相关的知识,希望对你有一定的参考价值。

public void listMax(String path, int m)
File f = new File(path);
Set set=new TreeSet();
if (f.isDirectory())
File[] files = f.listFiles();
if (files == null)
return;

for (File f1 : files)
listMax(f1.getAbsolutePath(), m);

else
set.add(f.length());


Iterator it = set.iterator();
int i=2;
while(it.hasNext()&&i>0)

System.out.println(it.next());
i--;




@Override
public int compare(Object o1, Object o2)
Long f1 = (Long)o1;
Long f2 = (Long)o2;
if (f1 < f2)
return 1;
else if (f1 == f2)
return 0;
else
return -1;



public boolean equals(Object obj)
return true;

你通过递归得到文件列表,但是你通过重写compare和equals方法,比较文件大小这个有待商榷,一般文件大小是通过字节数来判断的,通用方法为File.length()方法,给你个文件参考一下,没有package,很简单,文件夹路径自己得改一下,否则找不到文件。

参考技术A 支持 _Calamity ,只有递归,除此无二... 参考技术B 写的有问题 想实现什么功能,干脆我给你实现的了

以上是关于JAVA 对文件夹下所有文件按文件大小进行排序,请问哪里有问题?的主要内容,如果未能解决你的问题,请参考以下文章

如何实现对文件夹的按大小排序

linux系统下,如何让文件按大小进行排序?

如何在 Linux 命令行中按大小对文件进行排序

按文件大小对文件进行递归排序

在python中按大小对csv文件进行多列排序

更好的查询策略,按文件哈希频率和文件大小对文件进行排序