今日のコード(1)

/**
 * 深さ優先でファイルとフォルダの配列を返す.
 *
 * @param root
 *            基点フォルダ(returnに含まれる)
 * @return ファイルとフォルダの配列
 */
private File[] walk(File root) {
    List<File> list = new ArrayList<File>();
    list.add(root);
    if (root.isDirectory()) {
        for (File child : root.listFiles()) {
            list.addAll(Arrays.asList(walk(child)));
        }
    }
    return list.toArray(new File[0]);
}

スラッとかけてうれしかった.