Java I/O How to - Use java.nio.file.DirectoryStream to process the contents of a directory








Question

We would like to know how to use java.nio.file.DirectoryStream to process the contents of a directory.

Answer

//ww  w .j a  v  a  2s. co m
import java.io.IOException;
import java.nio.file.DirectoryIteratorException;
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class Main {

  public static void main(String[] args) {
    Path directory = Paths.get("c:/");
    try (DirectoryStream<Path> directoryStream = Files.newDirectoryStream(directory)) {
      for (Path file : directoryStream) {
        System.out.println(file.getFileName());
      }
    } catch (IOException | DirectoryIteratorException ex) {
      ex.printStackTrace();
    }
  }
}

The code above generates the following result.