Удалить первый элемент потока в Java 8

Я создал Stream в Java 8 с помощью метода Files.walk() из библиотеки java.nio. Проблема в том, что метод включает по умолчанию корневой путь, но я не хочу этого элемента. Я решил в этом случае использовать этот код с помощью метода filter():

public void listFiles(String directoryPath) {
    try {
        Path root = Paths.get(directoryPath);
        Files.walk(root,1)
            .filter(x -> !x.equals(root))
            .forEach(System.out::println);
    } catch (IOException ex) {
        System.err.println("Error reading file: " + directoryPath);
    }
}

Мой вопрос в том, есть ли более элегантный способ удалить первый элемент Stream, чем это. Например, работа с индексом в потоке или с помощью метода tail() в качестве других функциональных языков.

Ответы

Ответ 1

Как насчет размещения .skip(1) там? Вы знаете все это в javadoc.