27 junio 2013

Leer de fichero en Java con formato ISO-8859-15

Qué de tiempo sin actualizar, así que me voy a proponer subir un montón de Snippets que tengo en mente ya que son trocitos de código sencillo y que he ido reutilizando en un proyecto bien grande.

Hoy, cómo leer un fichero de texto en Java con un Charset (formato/codificación) ISO-8859-15, ya que esto es muy puñetero cuando se ha de desarrollar cosas en Españó


/**
* Devuelve un String con el contenido del fichero en ISO-8859-15
* @param path Ruta al fichero
* @return String con todo el fichero
* @throws Exception En caso de error.
*/
public static String getFileContentISO_88559_15(String path) 
                                                            throws Exception{
File file = null;
FileInputStream fis = null;

//Stringbuffer para componer el resultado.
StringBuffer result = new StringBuffer();
try {
//Comprobamos que el fichero exista
file = new File(path);
if(!file.exists()){
throw new Exception("El fichero no existe");
}
fis = new FileInputStream(file);

// Leemos el fichero
String linea;
BufferedReader r = new BufferedReader(
                                           new InputStreamReader(
                                           fis, Charset.forName("ISO-8859-15")));
while ((linea = r.readLine()) != null){
    result.append(linea);
}
} catch (Exception e) {
throw e;
} finally {
//Cerramos el flujo si no es nulo.
try {
if (null != fis) {
fis.close();
}
} catch (Exception e2) {
throw e2;
}
}
return result.toString();
}

No hay comentarios:

Publicar un comentario