1

ファイルを読み込んで処理するプログラムを書いています。現時点では、BufferedReader を使用して、txt ファイルからファイルのリストを読み込んでいます。この txt ファイルは、コマンド プロンプトで次のように実行して生成されました。

dir > filelist.txt

そして、これをファイル名だけに切り詰めます。

これをスクリプトに組み込むには、次のようにします。

//pseudo code(needs further directory specification)
Runtime run = Runtime.getRuntime();//pseudo code(needs further directory specification)
Process process = run.exec("dir > filelist.txt");

このコマンドは、次の形式のファイルを含むディレクトリを提供します。

dd/mm/yyyy hh:mm       (filesize) file

このファイルを取得したら、正規表現を実行してファイル名を抽出できます。

Pattern file = Pattern.compile("(\d){2}/(\d){2}/(\d){4}\s(\d){2}(:)(\d){2}\s(\d+)\s(.+)\.txt");

for (String fileline : filelist) {
    Matcher matchfile = file.matcher(fileline);
    if(matchfile.find()){
        filearray.add(matchfile.group().split("\\s")[3]);
    }
}

Java SE 内のディレクトリからファイル名だけを取得する簡単な方法はありますか? これは少し長かったようです。

4

3 に答える 3

1

使用list()方法

File f = new File("d:\\MyFolder");
String[] fileNames = f.list();

次のような方法を使用して、ファイルとディレクトリをさらに分離できます

isFile()
isDirectory()

///////////////////編集済み///////////////

このFileオブジェクトがファイルかディレクトリかを調べたいとします...

File f = new File("d:\\MyFolder");

if (f.isDirectory()) {

    System.out.println("Its a directory");
}
于 2012-07-31T09:52:48.077 に答える
1

Java 7では、より完全でPathsおよびFilesクラスで便利なnio.2 toolsがあります。

于 2012-07-31T09:54:39.940 に答える
0

ここでは、フォルダーからファイルのリストを取得するサンプル コードを取得できます。

File file = new File("C:/MyFolder/");
    File[] files = file.listFiles();
    for(File f: files){
        System.out.println(f.getName());
    }

http://java2novice.com/java-file-io-operations/file-list-from-folder/からさらに例を取得できます。

于 2012-07-31T11:05:23.227 に答える