2012-06-19 10 views
5

Estoy trabajando en un archivo de texto JSON de 1 Gigabyte que estoy tratando de analizar con Java. Sin embargo, el analizador emite una excepción, ya que se encuentra con la 'ñ' carácter generar esta excepción:Eliminación de caracteres que no sean UTF-8 del archivo de texto grande

Excepción no válida UTF-8 byte inicial 0x96

He tratado de eliminar el carácter usando sed y perl, pero parece que no pueden leer el carácter y, por lo tanto, el archivo permanece sin cambios. Me gustaría eliminar el carácter de todo el archivo o reemplazarlo con cualquier otro carácter o cadena para que el análisis funcione.

+1

Creo que su archivo está codificado en latin1, no utf8 – Daenyth

+0

Para agregar, use iso-8859-1 como codificación para especificar latin1 en java – jontro

Respuesta

5

Su archivo no está codificado en UTF-8.

Debe encontrar la codificación y usar esta codificación para leer el archivo usando InputStreamReader. Y luego guárdelo si es necesario en UTF-8 (usando por ejemplo un OutputStreamWriter).

Si no conoce la codificación, le sugiero que pruebe con algunas codificaciones probables: consulte Charsets.

+0

Funciona bien ahora. Gracias – user1261046

Cuestiones relacionadas