解説動画
サブフォルダ内の一覧はそのまま取得できないので、再帰的に取得します。
メソッドで再帰する例は良くありますが、クラスで再帰はあまり無いかもしれないですね。
■動画はこちら
■Youtube版の解説で使用しているソースコード
動画と一緒にこちらも参考にどうぞ。
1 2 3 4 5 6 7 8 9 10 | public class FileListMain { public static void main(String[] args) { FileList fileList = new FileList("D:\\work\\20230615\\test_File"); fileList.report(); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | import java.io.File; public class FileList { private String currentPath = null; private File[] files = null; public FileList(String path) { currentPath = path; File file = new File(path); files = file.listFiles(); } public void report() { for(File f : files) { reportFile(f); } } private void reportFile(File file) { //自分のファイル(フォルダ)の情報を出力する //ファイル名の取得 String fileName = currentPath + File.separator + file.getName(); //ファイルの情報を出力 System.out.println(fileName); //フォルダの場合は、さらに自分のサブフォルダを見る if(file.isDirectory()) { FileList fileList = new FileList(fileName); fileList.report(); } } } |