#author("2017-07-14T13:49:22+09:00","","") navi(../) #author("2017-07-14T13:49:41+09:00","","") #navi(../) * ファイル一覧を標示するサンプル [#hbd7698a] FileのlistFilesメソッドを使って、指定したディレクトリのファイル一覧を表示するサンプルソースです。 #contents * ファイル一覧を表示するサンプルソース [#yb24e556] 本プログラムにディレクトリを引数として渡すと、ファイル一覧が表示されます。~ 引数を指定しない場合は、Usageが表示されます。~ また、ファイルを指定した場合は、ディレクトリを指定する旨のメッセージが表示されます。 &ref(FileList.java); LF import java.io.File; class FileList { private static void usage() { System.err.println("Usage: java FileList <path>"); System.exit(1); } public static void main(String[] args) { if (args.length != 1) { usage(); } File f = new File(args[0]); if (!f.exists()) { // false System.out.println(args[0] + " directory is not found."); System.exit(2); } else { if (f.isFile()) { System.out.println(args[0] + " is file, Please set the directory."); System.exit(3); } else if(!f.isDirectory()) { System.out.println(args[0] + " is unknown, Please set the directory."); System.exit(4); } File[] filelist = f.listFiles(); String NL = System.getProperty("line.separator"); if (filelist != null) { for (File item : filelist) { String name = item.getName(); String type = item.isFile() ? "FILE" : (item.isDirectory() ? "DIRECTORY" : "UNKNOWN"); System.out.printf("|%30s| %10s|" + NL, name, type); } } else { System.out.println("file or directory nothing!"); } } } } * 実行結果 [#q7fe89bd] サンプルソースをコンパイルして実行してみます。 + サンプルソースをコンパイルします。 $ javac FileList.java + 引数なしで実行した場合は、Usageが表示されます。 $ java FileList Usage: java FileList <path> + テスト用のディレクトリとファイルを作成します。 sakura@pc ~ $ mkdir work sakura@pc ~ $ cd work/ sakura@pc ~/work $ touch a b c d e f sakura@pc ~/work $ mkdir d1 d2 d3 d4 sakura@2sakura03 ~/work $ ls -l 合計 0 -rw-r--r-- 1 sakura sakura Users 0 7月 14 13:35 a -rw-r--r-- 1 sakura sakura Users 0 7月 14 13:35 b -rw-r--r-- 1 sakura sakura Users 0 7月 14 13:35 c -rw-r--r-- 1 sakura sakura Users 0 7月 14 13:35 d drwxr-xr-x+ 1 sakura sakura Users 0 7月 14 13:35 d1 drwxr-xr-x+ 1 sakura sakura Users 0 7月 14 13:35 d2 drwxr-xr-x+ 1 sakura sakura Users 0 7月 14 13:35 d3 drwxr-xr-x+ 1 sakura sakura Users 0 7月 14 13:35 d4 -rw-r--r-- 1 sakura sakura Users 0 7月 14 13:35 e -rw-r--r-- 1 sakura sakura Users 0 7月 14 13:35 f sakura@2sakura03 ~/work $ cd .. sakura@pc ~ $ + ファイルを指定するとディレクトリを指定する旨のメッセージが表示されます。 sakura@pc ~ $ java FileList work/a work/a is file, Please set the directory. + ディレクトリを指定し実行してみます。 sakura@pc ~ $ java FileList ./work/ | a| FILE| | b| FILE| | c| FILE| | d| FILE| | d1| DIRECTORY| | d2| DIRECTORY| | d3| DIRECTORY| | d4| DIRECTORY| | e| FILE| | f| FILE| 以上、FileのlistFilesメソッドを使ってファイル一覧を表示するサンプルソースでした。