Wpis z mikrobloga

try (InputStream in = new InputStream(src);
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
  • 9
  • Odpowiedz
@jaca_66: kurde, tak po prawdzie to teraz przeglądam EJ i się zastanawiam czy nie chodziło w sumie o finalise czy coś ( ͡° ͜ʖ ͡°)

Ale jeszcze przejrze. Mam edycję II więc u mnie może inaczej pisać
  • Odpowiedz
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).
  • Odpowiedz