Javaのフォルダ内のファイルの一覧を取得するサンプルです。
| 確認環境 ・Windows10 |
目次
フォルダ内のファイルの一覧を取得する
フォルダ内のファイルの一覧を取得します。
Fileクラスのlistメソッドを使用します。
コード
11行目は、Fileクラスをインスタンス化しています。引数は、8行目の文字列です。
14行目は、listメソッドでファイルの一覧を配列で取得しています。
package test1;
import java.io.File;
public class Test1 {
public static void main(String[] args) {
String dir = "D:\\workspace123abc";
// Fileクラスをインスタンス化
File file = new File(dir);
// listメソッドでファイルの一覧を配列で取得
String f[] = file.list();
for (String a: f){
System.out.println(a); //ファイル名が表示される
}
}
}
Fileクラス - listメソッド
| public String[ ] list() |
- ファイルの一覧を配列で返します。
- 戻り値はString型の配列です。
- 以下はJava8 API仕様のFileクラスのlistメソッドのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/io/File.html#list--
フォルダ内のファイルの一覧と配下のフォルダ内のファイルの一覧を取得する
フォルダ内のファイルの一覧と配下のフォルダ内のファイルの一覧を取得します。
再帰的に処理します。
FilesクラスのwalkFileTreeメソッドを使用します。
コード
19行目は、FilesクラスのwalkFileTreeメソッドを使用しています。
21行目は、SimpleFileVisitorクラスのvisitFileメソッドです。
25行目は、CONTINUEで処理を継続します。TERMINATEを指定すると処理を終了します。
package test1;
import java.io.IOException;
import java.nio.file.FileVisitResult;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;
public class Test1 {
public static void main(String[] args) {
String dir = "D:\\workspace123abc";
Path p1 = Paths.get(dir);
try {
Files.walkFileTree(p1, new SimpleFileVisitor<Path>() {
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs)
throws IOException
{
System.out.println(file);
return FileVisitResult.CONTINUE;
}
});
} catch (IOException e) {
e.printStackTrace();
}
}
}
Filesクラス - walkFileTreeメソッド
| public static Path walkFileTree(Path start,FileVisitor<? super Path> visitor) throws IOException |
- ファイルツリーを参照します。
- 以下は、Java8 API仕様のFilesクラスのwalkFileTreeメソッドのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/nio/file/Files.html#walkFileTree-java.nio.file.Path-java.nio.file.FileVisitor-
SimpleFileVisitorクラス - visitFileメソッド
| public FileVisitResult visitFile(T file,BasicFileAttributes attrs) throws IOException |
- フォルダ内のファイルを呼び出します。
- 以下は、Java8 API仕様のSimpleFileVisitorクラスのvisitFileメソッドのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/nio/file/SimpleFileVisitor.html#visitFile-T-java.nio.file.attribute.BasicFileAttributes-
関連の記事
Java テキストファイルの読み書きのサンプル(Filesクラス)
Java バイナリファイルの読み込みと書き込み
Java ファイルの読み込みと書き込み(バッファを使用するクラス)
Java ファイルの読み込みと書き込み(文字コードを指定するクラス)
Java ドライブの容量と空き容量を取得するサンプル(Fileクラス)