社区
Java SE
帖子详情
如何得到一个目录下按last modify时间排序的文件名列表?
ghw
2002-01-13 06:29:42
如何得到一个目录下按last modify时间排序的文件名列表?
我在java中没有发现好的方法,要实现的话,代码挺长。
哪位兄弟有好的方法,请贴上来。
...全文
348
5
打赏
收藏
如何得到一个目录下按last modify时间排序的文件名列表?
如何得到一个目录下按last modify时间排序的文件名列表? 我在java中没有发现好的方法,要实现的话,代码挺长。 哪位兄弟有好的方法,请贴上来。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ghw
2002-01-14
打赏
举报
回复
谢谢二位,我忘了TreeMap有按key排序的功能了,这样一来就把手动排序的代码省掉了。
ghw
2002-01-14
打赏
举报
回复
如果没什么别的好办法,只有拿"lastModify+fileName"作为key了。
ghw
2002-01-14
打赏
举报
回复
对了,这种用lastModify作为key的方法有些问题,如果一个目录下有几个文件的lastModify完全相同的话怎么办?
masterz
2002-01-13
打赏
举报
回复
import java.io.*;
import java.util.*;
public class Sortfile
{
public static void main(String args[])
{
String[] ret=getSortFile("c:\\temp\\echoc");
if(ret!=null)
{
for(int i=0;i<ret.length;i++)
{
System.out.println(ret[i]);
}
}
else
System.out.println("null path:");
}
public static String[] getSortFile(String pathname)
{
try
{
File fpath=new File(pathname);
if(fpath.isDirectory()==false)
{
//System.out.println(pathname+" is not a valid path name!");
return null;
}
String[] filelist=fpath.list();
int length=filelist.length;
Vector filevec=new Vector();
Map mapfile=new TreeMap();
for(int i=0;i<length;i++)
{
String filei=filelist[i];
String fname=pathname+filei;
File ftmp=new File(pathname,filei);
if(ftmp.isFile())
{
mapfile.put(new Long(ftmp.lastModified()),ftmp.getPath());
//System.out.println("40:"+ftmp.getPath());
}
}
Collection filecoll=mapfile.values();
length=filecoll.size();
if(length==0)
return null;
String[] ret=new String[length];
Iterator ita=filecoll.iterator();
int i=0;
while(ita.hasNext())
{
Object obj=ita.next();
//System.out.println("54:"+obj);
ret[i++]=(String)obj;
}
return ret;
}
catch(Exception e)
{
e.printStackTrace();
}
return null;
}
}
z_yheart
2002-01-13
打赏
举报
回复
import java.io.*;
import java.lang.*;
import java.util.*;
...
TreeMap tm=new TreeMap();
File f=new File("C:\\");
File subFile[]=f.listFiles();
int fileNum=subFile.length;
for(int i=0;i<fileNum;i++)
{
Long tempLong=new Long(subFile[i].lastModified());
tm.put(tempLong,subFile[i]);
}
Set set=tm.keySet();
Iterator iter=set.iterator();
while(iter.hasNext())
{
Object key=iter.next();
Object objValue=tm.get(key);
File tempFile=(File)objValue;
System.out.println(tempFile.getPath()+"\t"+key.toString());
}
常用sql总结
这是一种非常基础且通用的方法,通过指定多个表并在`WHERE`子句中定义连接条件来实现多表查询。 **示例**: ```sql SELECT e.last_name, e.department_id, d.department_name FROM employees e, departments d ...
Oracle 11g详细操作
- 获取下个月的第一天:`NEXT_DAY(date, 'weekday')` - 获取指定月份的最后一天:`LAST_DAY(date)` - 日期格式转换:`TO_CHAR(date, 'format')` ##### 4.3 分组函数 - **聚合函数**:`MAX()`, `MIN()`, `AVG()`,...
Linux系统下查找最近修改过的文件
比如按名字查找
一个
文件,可以用 find / -name targetfilename 。 唉,如果只知道名字,不知道地点,这样也不失为
一个
野蛮有效的方法。 按
时间
查找也有参数 -atime 访问
时间
-ctime 改变状态的
时间
-mtime修改的...
【转载】Linux系统下查找最近修改过的文件
比如按名字查找
一个
文件,可以用 find / -name targetfilename 。 唉,如果只知道名字,不知道地点,这样也不失为
一个
野蛮有效的方法。 按
时间
查找也有参数 -atime 访问
时间
-ctime 改变状态的
时间
-mtime修改的...
Linux指令(详细版)
ls -a:列出
目录
中的所有文件,包括以点(.)开头的隐藏文件。ls -l:以长格式列出文件信息,包括...ls -S:按文件大小
排序
。ls -r:逆序排列文件(与-t或-S结合使用时非常有用)。ls -R:递归地列出所有子
目录
的内容。
Java SE
62,634
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章