#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メソッドを使ってファイル一覧を表示するサンプルソースでした。

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS