sto leggendo il testo da un java BufferedReader
come questo:"chiudi" un flusso?
Stream.continually(reader.readLine).takeWhile {
case null => reader.close; false
case _ => true
}
Questo funziona, ma sembra solo un po 'goffo per me. Vorrei che ci fosse qualcosa come .whenDone
su Stream
, in modo che potessi dire di chiudere il lettore dopo che l'intera cosa è stata consumata, e quindi basta fare .takeWhile(_ != null)
.
C'è un modo per farlo che non conosco? O forse un modo migliore per ottenere un flusso di linee da un java Reader
(se fosse un InputStream
, potrei semplicemente fare Source.fromInputStream
per esempio, ma non sembra essere un equivalente per Reader
... nota che questo risolverebbe solo parzialmente il problema, perché si potrebbe voler fare la stessa cosa con altri oggetti "chiudibili" - ad esempio ResultSet
)?