这是遍历的代码,如何按时间排序我也想知道package classes;import java.io.*;
public class abc {
    public static void main(String[] args) throws Exception {
            String dir = "d://project";
            File f = new File(dir);
            File f1 = null;
            String dirfile[] = f.list();
            
            if (f.isDirectory()) {
                
                  for(int i = 0; i<dirfile.length-1 ; i++){
                   for(int j = i+1; j<dirfile.length; j++){
                   if(dirfile[i].length()>dirfile[j].length()) {
                   String tempStr=dirfile[i];
                        dirfile[i]=dirfile[j];
                        dirfile[j]=tempStr;
                   }
                   }
                  }
                }
                for (int i = 0; i < dirfile.length; i++) {
                    String a = "";
                    f1 = new File(dir + "/" + dirfile[i]);
                    if(f1.isDirectory()){
                    a = dirfile[i].toString();
                    }
                    System.out.println(a);
                }
            }
        }

解决方案 »

  1.   

    you can use the method of java.io.File named "lastModified()" to get the last modified time.
      

  2.   

    3Q 我只去查get...了,结果没有.API写的不好,应该是getLastModified();^_^
      

  3.   

    把file对象放到一个collection中,然后用collection进行排序也可以把,呵呵
      

  4.   

    多谢楼上的提醒,我也是顺手找到了一个算法,就不想再去研究别的了。下面把代码贴出来,同时结贴吧。其实方法有很多种,也可以用一维数组来实现,原理都是一样的,还有个楼上的朋友说用Collection,也是可以的。import java.io.*; 
    import java.util.*; 
    public class Test
    { public static void main(String[] args)
    {
    File mydir = new File("e:\\java\\huiwen\\");
    File[] con = mydir.listFiles();         String[][] a=new String[con.length][2];
    for(int i=0;i<con.length;i++)
    {
    a[i][0]=String.valueOf(con[i].lastModified());
    a[i][1]=con[i].getName();
    } a=bubbleSort(a);  for(int j=0;j<a.length;j++)
    {
    System.out.println("时间"+a[j][0]+"        "+"文件名:"+a[j][1]);
    }
    } static String[][] bubbleSort(String[][] a)

    String t0,t1; 
    for(int i=0;i<a.length;i++) 

    for(int j=0;j<a.length-i-1;j++) //升序排列用大于,降序排列用小于,此处为降序排列。 
    {
    if(Long.parseLong(a[j][0])>Long.parseLong(a[j+1][0])) 
    {
    t0=a[j][0];a[j][0]=a[j+1][0];a[j+1][0]=t0;
    t1=a[j][1];a[j][1]=a[j+1][1];a[j+1][1]=t1;
    }

    }
    return a; 

    }