写一个程序显示在程序的命令行中指定的目录中所有的文件和目录,包括文件大小以及是文件还是目录类型,并且按照字母顺序排列显示。 怎么编新手不会 

解决方案 »

  1.   

    import java.io.*;
    import java.util.Arrays;public class Test
    {
    public static void main(String[] args) throws Exception
    {
    if(args.length == 0)
    {
    return;
    }
    File parent = new File(args[0]);
    File[] child = parent.listFiles();
    Arrays.sort(child);
    for(int i = 0; i < child.length; i++)
    {
    System.out.println(child[i] + "  " + (child[i].isFile() ? "file" : "directory"));
    }
    }
    }
      

  2.   

    以前写的一个小程序,模仿cmd下dir的输出./**
     * desc:
     *     XXX<br>
     * ----------------------------------------------------------------------------
     * ver.            date           who           what
     * ----------------------------------------------------------------------------
     * 0.0.1           2009-5-26      leisore       add
     * ----------------------------------------------------------------------------
     */
    package cn.leisore.daily._2009_05_26;import java.io.File;
    import java.util.Arrays;
    import java.util.Collections;
    import java.util.List;/**
     * Dir
     * 
     * @author leisore
     * @since version 0.0.1
     */
    public class Dir {    // last_modify_time type size name
        private static final String SHOW_FORMAT = "%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS  %2$3s  %3$(,12d %4$30s\n";    /**
         * @param args
         */
        public static void main(String[] args) {
            File file = null;
            boolean subDir = false;
            if (args.length == 0) {
                file = new File(".");
            } else if (args.length == 1) {
                file = new File(args[0]);
            } else {
                file = new File(args[0]);
                subDir = "-s".equalsIgnoreCase(args[1]);
                System.out.println(subDir);
            }        listFiles(file, subDir);
        }    private static void listFiles(File file, boolean subDir) {
            List<File> fList = Arrays.asList(file.listFiles());
            Collections.sort(fList);
            for (File f : fList) {
                System.out.printf(SHOW_FORMAT, f.lastModified(),
                        (f.isDirectory() ? "<DIR>" : "<FILE>"), f.length(), f
                                .getName());
                if (subDir & f.isDirectory()) {
                    listFiles(f, subDir);
                }
            }
        }
    }