このエントリーをはてなブックマークに追加


ファイル一覧を標示するサンプル

FileのlistFilesメソッドを使って、指定したディレクトリのファイル一覧を表示するサンプルソースです。

ファイル一覧を表示するサンプルソース

本プログラムにディレクトリを引数として渡すと、ファイル一覧が表示されます。
引数を指定しない場合は、Usageが表示されます。
また、ファイルを指定した場合は、ディレクトリを指定する旨のメッセージが表示されます。

fileFileList.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!");
            }
        }
    }
}

実行結果

サンプルソースをコンパイルして実行してみます。

  1. サンプルソースをコンパイルします。
    $ javac FileList.java
  2. 引数なしで実行した場合は、Usageが表示されます。
    $ java FileList
    Usage: java FileList <path>
  3. テスト用のディレクトリとファイルを作成します。
    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 ~
    $ 
  4. ファイルを指定するとディレクトリを指定する旨のメッセージが表示されます。
    sakura@pc ~
    $ java FileList work/a
    work/a is file, Please set the directory.
  5. ディレクトリを指定し実行してみます。
    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メソッドを使ってファイル一覧を表示するサンプルソースでした。


添付ファイル: fileFileList.java 22件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-07-14 (金) 13:49:58 (459d)