Jeżeli metoda się wykona, wyjątek nie zostanie zgłoszony to rozumiem że w tym przypadku nie potrzebne jest używanie metody "finally" aby zamknąć strumień?
a w EJ nie pisało czasem, że w takich przypadkach nawet zaleca się nie używanie metody close dla strumieni?
@Ark00: Po pierwsze nie ma to sensu. Problemy z dodatkowym wywołaniem close() mogą się pojawić jedynie z klasami które implementują bezpośrednio interfejs AutoCloseable zamiast Closeable (i pośrednio AutoCloseable).
OutputStream out = new FileOutputStream(dst)) {
https://pastebin.com/aySM7FZH
Jeżeli metoda się wykona, wyjątek nie zostanie zgłoszony to rozumiem że w tym przypadku nie potrzebne jest używanie metody "finally" aby zamknąć strumień?
Odwołuję się do "Item 9" z książki Effective Java
#java
@jaca_66: klauzuli. Tak, strumienie zostaną zamknięte.
Ale jeszcze przejrze. Mam edycję II więc u mnie może inaczej pisać
@Ark00: Po pierwsze nie ma to sensu. Problemy z dodatkowym wywołaniem close() mogą się pojawić jedynie z klasami które implementują bezpośrednio interfejs AutoCloseable zamiast Closeable (i pośrednio AutoCloseable).
źródło: comment_1633373886ZerQAWLGKzUS2KIDjX7ofs.jpg
Pobierzźródło: comment_1633375115XrClnxjlNYwhbUdjlcTdTx.jpg
Pobierz