( vilmos.nagy | 2018. 06. 19., k – 15:13 )

látom átjött a lényeg. a példa bugyuta (3 sorban nem is lesz jobb), de fentebb leírtam mi a gond.

de tessék, itt egy komplexebb. Adott Foo lib, benne a következő interfész:


interface Foo {
    ParsedFoo parse(InputStream is);
}

szeretném egy könyvtár alól az összes

.foo

fájlt felolvasni, majd felparsolni mindet.

Most:


Files.walk(path)
    .map(Files::newInputStream) // itt biztosan elhal
    .map(fooInstance::parse) // ha az interfész checked exceptiont dobna, itt is...
    .collect(Collectors.toList());

Na, rakjam ezt is egy try-catch-be? Ha utána esetleg dolgozni akarok a parseolt dolgokon? Akkor? Meddig? 6 soros stream belefér? 8?

Tudom, a Files.lines megold nekem mindent.