Pada baris contoh ini, Files.find dipanggil dengan opsi FOLLOW_LINKS.

Stream<Path> paths = Files.find(
    Paths.get(basePath), 0, eval, FileVisitOption.FOLLOW_LINKS);

Dokumentasi ditulis untuk membuat seseorang percaya bahwa FOLLOW_LINKS adalah opsional.

Jika parameter opsi berisi opsi FOLLOW_LINKS maka tautan simbolik akan diikuti. referensi...Java SE 8

Melewati null untuk parameter ini menghasilkan NullPointerException di FileTreeIterator Java, yang ditulis dengan jelas untuk memerlukan nilai non-null.

Stream<Path> paths = Files.find(
    Paths.get(basePath), 0, eval, null);

FileVisitOption hanya memiliki satu Konstanta Enum: FOLLOW_LINKS.

Jadi, apakah FOLLOW_LINKS benar-benar merupakan opsi?

Bagaimana cara memanggil Files.find tanpa "opsi' ini?

Apa yang saya lewatkan?

2
joshp 3 Januari 2018, 03:21

1 menjawab

Jawaban Terbaik

Parameter terakhir adalah varargs larik. Jika Anda tidak ingin menentukan opsi apa pun, tinggalkan sepenuhnya:

Files.find(Paths.get(basePath), 0, eval)
4
shmosel 3 Januari 2018, 06:33