Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

186
Vistas
BeanIo no puede leer caracteres especiales

Tengo un archivo .txt con codificación ANSI (Windows-1252). Puedo leerlo en Windows pero no en Unix.

aquí está el archivo de mapeo xml:

 <beanio> <stream name="empData" format="csv"> <parser> <property name="delimiter" value=";"/> <property name="alwaysQuote" value="false"/> <!--<property name="quote" value='' />--> </parser> <record name="emp" class="com.MyClass" > <field name="name" /> <field name="job" /> <field name="adress"/> </record> </stream> </beanio>

Lado Java:

 StreamFactory factory = StreamFactory.newInstance(); InputStream in = this.getClass().getClassLoader() .getResourceAsStream("mapping.xml"); Reader reader = new InputStreamReader(this.getClass().getClassLoader() .getResourceAsStream("countries.txt")); factory.load(in); BeanReader beanReader = factory.createReader("empData", reader); Gson gson = new Gson(); /*Object bean =new Object();*/ Object record = null; while ((record = beanReader.read()) != null) { System.out.println(beanReader.getRecordName() + ": " +((MyClass)record).getCountry()); }

Resultado : línea : Francia

línea: São Paulo debería ser (São Paulo) Windows está bien, pero Unix está KO

línea : EE.UU.

linea : China

Alguna idea ?

FYI: ya intenté configurar Charset en el lado Java UTF-8.

 new InputStreamReader(this.getClass().getClassLoader().getResourceAsStream("clearings.txt"), Charset.forName("UTF-8"));
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Es un poco tarde pero... si tiene un archivo ANSI, también conocido como ISO-8859-1 , debe configurar el juego de caracteres InputStreamReader como ISO-8859-1, no UTF-8.

 Reader reader = new InputStreamReader(this.getClass().getClassLoader().getResourceAsStream("clearings.txt"), StandardCharsets.ISO_8859_1);
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda