概要
Javaで「ディレクトリに含まれるファイルやディレクトリの一覧を取得する(Files.list,Files.walk)」の動作を確認してみました。以下のページを参考にしました。
実装
以下のファイルを作成しました。
JSample18_1.java
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.Files;
import java.io.IOException;
import java.util.stream.Stream;
class JSample18_1{
public static void main(String[] args){
Path dirpath = Paths.get("/code/java/file/doc");
try(Stream<Path> stream = Files.list(dirpath)) {
stream.forEach(p -> System.out.println(p.toString()));
}catch(IOException e) {
System.out.println(e);
}
}
}
以下のコマンドを実行しました。
$ javac JSample18_1.java
$ java JSample18_1
/code/java/file/doc/manual
/code/java/file/doc/memo.txt
/code/java/file/doc/dest.20230814
/code/java/file/doc/dest
/code/java/file/doc/memo.back.20230814
/code/java/file/doc/memo.back
以下のファイルを作成しました。
JSample18_2.java
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.Files;
import java.io.IOException;
import java.util.stream.Stream;
class JSample18_2{
public static void main(String[] args){
Path dirpath = Paths.get("/code/java/file/doc");
try(Stream<Path> stream = Files.walk(dirpath, 3)) {
stream.forEach(p -> System.out.println(p.toString()));
}catch(IOException e) {
System.out.println(e);
}
}
}
以下のコマンドを実行しました。
$ javac JSample18_2.java
$ java JSample18_2
/code/java/file/doc
/code/java/file/doc/manual
/code/java/file/doc/memo.txt
/code/java/file/doc/dest.20230814
/code/java/file/doc/dest
/code/java/file/doc/memo.back.20230814
/code/java/file/doc/memo.back
まとめ
何かの役に立てばと。