El manejo automático de recursos tales como Files, Input/OutputStreams, etc., que los desarrolladores tienen que cerrar manualmente se puede realizar de forma automática. Pero se sigue aconsejando hacerlo manualmente con el metodo close() de la siguiente forma:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
public void oldTry( ){ try{ fos = new FileOutputStream("movies.txt"); dos = new DataOutputStream(fos); dos.writeUTF("Java 7 Block Buster"); }catch (IOException e){ e.printStackTrace( ); }finally{ try{ fos.close( ); dos.close( ); }catch (IOException e){ //maneja la excepción } } } |
Si queremos hacerlo de forma automática no tendremos que utilizar el método close(), pero para que esto funcione, los recursos que queremos que se cierren automáticamente tienen que implementar la interfaz java.lang.AutoCloseable.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
public void newTry( ){ try(FileOutputStream fos = new FileOutputStream("movies.txt"); DataOutputStream dos = new DataOuputStream(fos)) { dos.writeUTF("Java es POO"); }catch (IOException e){ //maneja la excepción } } |