Files and Paths
Directory List
A directory stream visits the entries inside a directory without reading file contents.
Directory List
DirectoryList.java
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.Path;
public class DirectoryList {
public static void main(String[] args) throws Exception {
int extra = ;
Path dir = Files.createTempDirectory("java21");
Files.writeString(dir.resolve("a.txt"), "A");
Files.writeString(dir.resolve("b.txt"), "B");
if (extra > 0) {
Files.writeString(dir.resolve("c.txt"), "C");
}
int count = 0;
try (DirectoryStream<Path> stream = Files.newDirectoryStream(dir)) {
for (Path entry : stream) {
count++;
}
}
Files.deleteIfExists(dir.resolve("a.txt"));
Files.deleteIfExists(dir.resolve("b.txt"));
Files.deleteIfExists(dir.resolve("c.txt"));
Files.deleteIfExists(dir);
System.out.println("files=" + count);
}
}
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.Path;
public class DirectoryList {
public static void main(String[] args) throws Exception {
int extra = ;
Path dir = Files.createTempDirectory("java21");
Files.writeString(dir.resolve("a.txt"), "A");
Files.writeString(dir.resolve("b.txt"), "B");
if (extra > 0) {
Files.writeString(dir.resolve("c.txt"), "C");
}
int count = 0;
try (DirectoryStream<Path> stream = Files.newDirectoryStream(dir)) {
for (Path entry : stream) {
count++;
}
}
Files.deleteIfExists(dir.resolve("a.txt"));
Files.deleteIfExists(dir.resolve("b.txt"));
Files.deleteIfExists(dir.resolve("c.txt"));
Files.deleteIfExists(dir);
System.out.println("files=" + count);
}
}
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.Path;
public class DirectoryList {
public static void main(String[] args) throws Exception {
int extra = ;
Path dir = Files.createTempDirectory("java21");
Files.writeString(dir.resolve("a.txt"), "A");
Files.writeString(dir.resolve("b.txt"), "B");
if (extra > 0) {
Files.writeString(dir.resolve("c.txt"), "C");
}
int count = 0;
try (DirectoryStream<Path> stream = Files.newDirectoryStream(dir)) {
for (Path entry : stream) {
count++;
}
}
Files.deleteIfExists(dir.resolve("a.txt"));
Files.deleteIfExists(dir.resolve("b.txt"));
Files.deleteIfExists(dir.resolve("c.txt"));
Files.deleteIfExists(dir);
System.out.println("files=" + count);
}
}
directory stream
A DirectoryStream opens a lightweight view of the names inside one directory.
try-with-resources
The stream is closed automatically when the try block finishes.