Also available as ListFiles.java

import java.io.*;

class ListFiles {

        public static void main(String [] args ) {
                File f;
                try {
                        f = new File(args[0]);
                        Print(f,"");
                } catch (Exception e) {
                        System.out.println("Invalid usage");
                        e.printStackTrace();
                }
        }

        static public void Print(File f,String indent) {
                if (f.isFile() ) {
                        System.out.println(indent + f.getName()+ " (" + f.length() + " bytes)");
                } else if (f.isDirectory()) {
                        System.out.println(indent + f.getName() + " (is a directory)");
                        File[] sublist = f.listFiles();
                        for (int i=0;i<sublist.length;i++) {
                                Print(sublist[i],indent+"  ");
                        }
                }
        }                
}