有趣的Java 7

1. 遍历文件打印


public class HelloWorld {

    public static void main(String[] args) throws Exception {

        String filePath = "C:\\SkinPack";
        printFileNameAndChildFilesName(filePath);
    }

    public static void printFileNameAndChildFilesName(String filePath) {

        printFileNameAndChildFilesName(new File(filePath));
    }

    public static void printFileNameAndChildFilesName(File file) {

        printFileNameAndChildFilesName(file, 1);
    }

    public static void printFileNameAndChildFilesName(File file, final int depth) {

        if (file == null) {
            return;
        }

        System.out.println(getSpacesByDepth(depth) + file.getName());

        if (file.isFile()) {
            return;
        }

        File[] childFiles = file.listFiles();
        // 因为权限问题可能会产生 null 的情况,具体见 JDK 源码
        if (childFiles == null) {
            return;
        }
        for (File childFile : childFiles) {
            printFileNameAndChildFilesName(childFile, depth + 1);
        }
    }

    public static String getSpacesByDepth(final int depth) {

        StringBuilder spaces = new StringBuilder("");
        for (int i = 1; i < depth; i++) {
            spaces.append("   ");
        }
        return spaces.toString();
    }

}
SkinPack
   aero.exe
   iIcons.exe
   Install.ico
   Install.log
   installer.cmd
   license.txt
   reg64.exe
   Resources
      Windows
         Branding
            Basebrd
               basebrd.dll.res
         System32
            authui.dll.res
            imageres.dll.res
         SysWOW64
            authui.dll.res
            imageres.dll.res


2. 新增或删除 File


使用这个两个方法,注意处理返回值和异常。
 createNewFile
 delete


3. 新增目录


使用这两个方法,注意两者的区别。
mkdir
mkdirs











你可能感兴趣的:(有趣的Java 7)