java读取文件夹所有文件名,在JSP页面按文件创建时间排序列出文件名。
请高手帮忙解决,最好直接附上代码,谢谢!

解决方案 »

  1.   

    用apache common io的 org.apache.commons.io.FileUtils.listFiles() 
      

  2.   

    可以直接用java i/o部分写的,FileReader读的时候 "文件夹路径/文件夹名/*"来取所有文件
    用readline()显示出来
    创建时间的相关函数查查api
      

  3.   

    FileReader读取文件并调用lastModified()方法返回它的创建时间。
      

  4.   

    给你一个按时间倒排的代码,仅供参考。
    package io;import java.io.File;
    import java.io.FileFilter;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Comparator;
    import java.util.Date;
    import java.util.List;import edu.emory.mathcs.backport.java.util.Arrays;
    import edu.emory.mathcs.backport.java.util.Collections;public class DirReader {  public static void main(String[] args) {
        // 时间输出格式 年-月-日 时:分:秒
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        File dir = new File("D:/Software"); // 获取目录
        if (dir.isDirectory()) {
          File[] files = dir.listFiles(new DirFilter()); // 获取当前目录中的文件
          List<File> sortedFiles = new ArrayList<File>();
          Collections.addAll(sortedFiles, files);        // 将获取的File对象放入list中以供排序使用
          Collections.sort(sortedFiles, new FileTimeComparator()); // 排序
          for (File file : sortedFiles) {
            String lastModified = sdf.format(new Date(file.lastModified()));
            System.out.printf("%-40s %19s\n", file.getName(), lastModified);
          }
        }
      }  private static class DirFilter implements FileFilter {    /**
         * 过滤目录,只获取文件对象
         */
        public boolean accept(File file) {
          return !file.isDirectory();
        }
        
      }  private static class FileTimeComparator implements Comparator<File> {    /**
         * 按文件修改时间比较
         */
        public int compare(File o1, File o2) {
          long lastModified1 = o1.lastModified();
          long lastModified2 = o2.lastModified();
          // lastModified1 > lastModified2 返回小于0是因为要到排序,如果升序则改为
          // lastModified1 > lastModified2 ? 1 : (lastModified1 == lastModified2 ? 0 : -1);
          return lastModified1 > lastModified2 ? -1 : (lastModified1 == lastModified2 ? 0 : 1);
        }
        
      }}
      

  5.   

    刚才的代码导入的包不对,修改了一下,请见谅
    package io;import java.io.File;
    import java.io.FileFilter;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.Date;
    import java.util.List;/**
     * @author yuqin.zhang
     */
    public class DirReader {  public static void main(String[] args) {
        // 时间输出格式 年-月-日 时:分:秒
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        File dir = new File("D:/Software"); // 获取目录
        if (dir.isDirectory()) {
          File[] files = dir.listFiles(new DirFilter()); // 获取当前目录中的文件
          List<File> sortedFiles = new ArrayList<File>();
          Collections.addAll(sortedFiles, files);        // 将获取的File对象放入list中以供排序使用
          Collections.sort(sortedFiles, new FileTimeComparator()); // 排序
          for (File file : sortedFiles) {
            String lastModified = sdf.format(new Date(file.lastModified()));
            System.out.printf("%-40s %19s\n", file.getName(), lastModified);
          }
        }
      }  private static class DirFilter implements FileFilter {    /**
         * 过滤目录,只获取文件对象
         */
        public boolean accept(File file) {
          return !file.isDirectory();
        }
        
      }  private static class FileTimeComparator implements Comparator<File> {    /**
         * 按文件修改时间比较
         */
        public int compare(File o1, File o2) {
          long lastModified1 = o1.lastModified();
          long lastModified2 = o2.lastModified();
          // lastModified1 > lastModified2 返回小于0是因为要到排序,如果升序则改为
          // lastModified1 > lastModified2 ? 1 : (lastModified1 == lastModified2 ? 0 : -1);
          return lastModified1 > lastModified2 ? -1 : (lastModified1 == lastModified2 ? 0 : 1);
        }
        
      }}
      

  6.   

    String getdir="F:\\haha;

    File filedir=new File(getdir);
    File[] files=filedir.listFiles();   //获得F:\haha文件夹下的所有文件名

    String[] filesname = new String[files.length];
    for (int i = 0; i < filesname.length; i++) {
       filesname[i]=files[i].toString();    //将所有文件名赋给filesname字符串数组
    }遍历文件夹