/** * 深さ優先でファイルとフォルダの配列を返す. * * @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]); }
スラッとかけてうれしかった.