マーキングファイルを探して2 2015/04/05
2021/04/17

javaです。

前回の
プログラマメモ2: マーキングファイルを探して

ちょっとだけ改造
 public static Optional<File> findMarkingFile(URL start, String name)
   throws URISyntaxException {

  File file = new File(start.toURI());

  Predicate<File> predicate = (File f) -> {
   return (f.getName().equals(name));
  };

  do {
   Optional<File> optional = Arrays.asList(file.listFiles()).stream()
     .filter(predicate).findFirst();
   if (optional.isPresent()) {
    return optional;
   }
   file = file.getParentFile();
  } while (file != null);

  return Optional.ofNullable(null);
 }
 

: