Algunas APIs Java que te pueden servir: commons-io
commons-io trae un montón de clases que te pueden servir al momento de utilizar lecturas y escrituras de archivos, entre otras cosillas.
Por si no lo sabías una de las malas practicas mas recurrentes programando con java es, no cerrar los Stream y ciertos Readers adecuadamente, o te complicas mucho con los try/catch, vamos a ver un par de ejemplos clásicos:
Primero agregamos la dependencia de maven, ojo que las versiones 2.x están escritas para Java 1.5 y las 1.x para java 1.3 y 1.4:
1 | <dependency> |
Caso 1: finally que asegura cerrar el Reader con el método close()
1 | public void closeWithFinally(String filename) throws IOException { |
Caso 2: Creando la instancia de BufferedReader dentro del try y validando si es null al momento de cerrar:
1 | public void closeWithFinallyNullCheck(String filename) throws IOException { |
Caso 3: Usando commons-io y la clase IOUtils se reduce bastante el código y quedaría algo así:
1 | public void closeWithFinallyCommonsIO(String filename) throws IOException { |
Mas información en el maven site del proyecto:
Mas adelante escribiré un par de ejemplos con otras clases de commons-io que son bastante útiles.