按时间先后顺序来说,所有文件的修改时间不会比当前时间前的,所以只要将文件的修改时间排个序就好了!

解决方案 »

  1.   

    //取得目录及文件列表,并且返回最近访问过的文件或者目录
    private void getCurFile (String aStrPath)
    {
            File fleDir = new File (aStrPath);
            File [] fleList;
            long lngDate = 0;
            long lngDateOld = 0;
            long lngStep = 0;
            String strTmp;
            String strFileName;
            java.util.Date dteCurTime = new java.util.Date ();
            java.util.Date dteFile = new java.util.Date ();
            SimpleDateFormat fmtDate = new SimpleDateFormat ("yyyy/MM/dd");        if (fleDir.exists())
            {
                    fleList = fleDir.listFiles();
                    lngDate = fleList [0].lastModified();
                    lngDateOld = lngDate;
                    strFileName = fleList [0].getName().toString();
                    lngStep = dteCurTime.getTime() - lngDate;
                    for (int i = 1; i < fleList.length; i ++)
                    {
                            lngDate = fleList [i].lastModified();
                            dteFile.setTime(lngDate); 
                            strTmp = (fleList [i].isFile() ? "文件: " : "目录: ") + fleList [i].getName().toString() + " : " + fmtDate.format (dteFile);
                            System.out.println (strTmp);
                            if (dteCurTime.getTime () - lngDate < lngStep)
                            {
                                    strFileName = fleList [i].getName().toString();
                                    lngDateOld = lngDate;
                                    lngStep = dteCurTime.getTime() - lngDate;
                            }
                    }                System.out.println ("=========================");
                    dteFile.setTime(lngDateOld);
                    strTmp = "最近访问的文件: " + strFileName + " : " + fmtDate.format (dteFile);
                    System.out.println (strTmp);
            }
    }