`
jssay
  • 浏览: 27168 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

用Java取文件夹下最新文件

    博客分类:
  • Java
阅读更多
我想从一个文件夹下取出最新的一个文件,然后把它的文件名显示出来.想了一个办法,可能是比较笨的方法,希望能抛砖引玉.

解决方案是:

1, 遍历文件夹下的所有文件,将文件名和文件的最后修改时间push到一个Map中,用Last Modified time作为key,file name作为value.
<code>

List dateList = new ArrayList();

public Map readfile(String filepath){
    Map map = null;
    try {
        map = new TreeMap();
        File file = new File(filepath);
        if (!file.isDirectory()) {
                System.out.println(filepath+" is not a folder!");
        }else if (file.isDirectory()) {

                String[] filelist = file.list();
                for (int i = 0; i < filelist.length; i++) {
                  File readfile = new File(filepath + "/" + filelist[i]);
                  if (!readfile.isDirectory()) {
                        String fileName = readfile.getName();
                        long time = readfile.lastModified();
                        dateList.add(new Long(time));
                        map.put(String.valueOf(time), fileName);
                        }
                }
        }

    }catch (Exception e) {
      System.out.println("readfile()   Exception:" + e.getMessage());
    }
    return map;
  }

</code>

2. 将这个Map的Key按时间排序.


<code>
Collections.sort(dateList,new Comparator(){
                public int compare(Object o1,Object o2) {
                Long p1 = (Long)o1;
                Long p2 = (Long)o2;
                if(p1.longValue()<p2.longValue())
                        return 1;
                else
                        return 0;
        }});
</code>

3.根据排好序的key取出文件名,那么第一个就是我们所要的最新的文件了.

<code>
String date = null;
String fileName = null;

if(map!=null && map.size()!=0){
                for(int i=0; i<dateList.size(); i++){
                        date = String.valueOf(dateList.get(i));
                        fileName = (String)map.get(date);
                       break;
                }       
        }
System.out.println("The newest file is: " + fileName);
</code>

Refer to www.jssay.com
0
0
分享到:
评论
5 楼 mjm13 2009-12-07  
谢谢。
楼上的都瞎说 - -#
FileFilter jdk解释:用于抽象路径名的过滤器。

怎么取最新的?。
4 楼 zbwil 2009-11-10  
giginet 写道
使用自定义的一个filter,效果更高,代码最简洁。这个效率应该是最低的。

这位大哥,说说具体怎么写啊???
3 楼 jssay 2009-10-23  
giginet 写道
自己扩展个FileFilter就可以了。

我还真没用过这个FileFilter,不过还是要谢谢你的提醒。
2 楼 giginet 2009-10-23  
自己扩展个FileFilter就可以了。
1 楼 giginet 2009-10-23  
使用自定义的一个filter,效果更高,代码最简洁。这个效率应该是最低的。

相关推荐

    读取文件夹下所有文件

    java读取文件夹下面所有文件,包括子文件里面的文件

    Java获取文件夹大小、文件大小,文件个数

    关于在处理文件上传的时候,怎么样去获取其大小,并且在开发的时候去控制大小。

    Java实现读取文件夹下(包括子目录)所有文件的文件名

    主要介绍了Java实现读取文件夹下(包括子目录)所有文件的文件名,本文把代码组织成了一个模块,可以很方便的使用,需要的朋友可以参考下

    java代码在window获取linux文件

    java代码利用Jsch实现在windows平台获取linux服务器文件,已包含 jsch jar包

    java源码包---java 源码 大量 实例

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...

    JAVA上百实例源码以及开源项目

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...

    异步处理(JAVA)

    用一个队列来存放请求,所以只能按FIFO机制调度,你可以改用LinkedList,就可以简单实现一个优先级(优先级高的addFirst,低的addLast). 三.有能力将调用的边界从线程扩展到机器间(RMI) 四.分离过度耦合,如分离调用句柄...

    java源码包4

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...

    java源码包2

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...

    java源码包3

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码...

    JAVA上百实例源码以及开源项目源代码

     Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码截图如上所示。 Java 数字签名、数字证书生成源码 2个目标文件 摘要:JAVA源码,...

    基于Java的lua

    例如:我使用的是windows操作系统,就将luajava-1.1.dll文件放到window默认的系统目录C://windows/文件夹下 我理解的也不多:就知道,java于lua通信是通过堆栈作为媒介,即一个往栈里放东西,另外一个就可以取

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码,文件操作,压缩包查看 Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码...

    Java版2048

    1.下载zip文件后解压,保证解压后的jar和txt文件(用来保存最高分)在同一文件夹下。 2.取自官方2048的创意,用Java实现,只要电脑装有JDK就能玩!(当然得用Java编译器而不是解压软件运行jar文件)从而打破用电脑玩...

    java压缩文件生成带密码的zip包,解压带密码的zip包的工具类

    * 如果为false,将直接压缩目录下文件到压缩文件. * @param passwd 压缩使用的密码 * @return 最终的压缩文件存放的绝对路径,如果为null则说明压缩失败. */ 方法详细见文件! 可选择文件list压缩 /** * 使用...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码,文件操作,压缩包查看 Java zip压缩包查看程序,应用弹出文件选择框,选择ZIP格式的压缩文件,可以像Winrar软件一样查看压缩文件内部的文件及文件夹,源码...

    java网站开发结合jsp写的上传以及批量上传文件代码

    // 在服务器端开辟一个路径,建立文件夹放置文件 java.io.File myfile = new java.io.File(this.getServletContext() .getRealPath("/image")); // 如果不存在此路径 if (!myfile.exists()) { ...

    java jdk8 学习笔记

    C:\lib\abc.jar 指定jvm寻找.class文件路径的方法有三种,分别是从当前目录下寻找、某个文件夹下寻找或在链接库的jar文件中寻找。 同样,使用命令行指定classpath的方式优先于从系统读取classpath环境变量。 7...

    windows文件夹图标批量修改工具

    jar包中只预置了30来种图标,不过在resource文件夹里面有我不辞辛劳制作的大量可用图标可以选用(千万注意该jar包所在的路径不能包含空格和中文,最好是直接放在磁盘根目录下,这样能保证不出现读不到资源文件的问题...

    jar文件转为exe

    第一步,打开你要打包的java程序,然后对着那个项目的文件夹右键,选择Export,然后在选择Java文件夹在选择Jar File 在Next,在然后Finish就可以啦,你看你的项目文件的根目录下是不是有个.jar的文件?想测试也可以,在Doc下...

Global site tag (gtag.js) - Google Analytics