hola compañeros desarrolladores de java. Tengo un extraño problema.

Estoy tratando de leer un archivo csv línea por línea. Im en el punto donde Im comprobar la lectura de las líneas. Sólo cada vez que leo una línea, la línea que contiene caracteres cuadrados entre cada uno de los caracteres de texto. Incluso me guarda el archivo como un archivo txt en wordpad y bloc de notas con ningún cambio.

Por lo tanto debo de estar haciendo algo estúpido…

Tengo un archivo csv, archivo estándar csv, sí un archivo de texto con comas en ella. Yo trato de leer una línea de texto, pero el texto es de todos los f-ed y no puede encontrar la frase en el texto.

Algún consejo? código de abajo.

    //open csv
  File filReadMe = new File(strRoot + "data2.csv");
  BufferedReader brReadMe = new BufferedReader
     (new InputStreamReader(new FileInputStream(filReadMe)));

  String strLine = brReadMe.readLine();
  //for all lines
  while (strLine != null){

   //if line contains "(see also"
   if (strLine.toLowerCase().contains("(see also")){
    //write line from "(see also" to ")"
    int iBegin = strLine.toLowerCase().indexOf("(see also");
    String strTemp = strLine.substring(iBegin);
    int iLittleEnd = strTemp.indexOf(")");
    System.out.println(strLine.substring(iBegin, iBegin + iLittleEnd));
   }

   //update line
   strLine = brReadMe.readLine();
  } //end for

  brReadMe.close();
  • qué codificación de caracteres es el archivo escrito en? Usted está utilizando InputStreamReader sin codificación, por lo que se utilizará la plataforma por defecto la codificación, que no es siempre lo que usted desea.
  • Que fue hecha en un equipo windows, estoy usando un ordenador con windows…
InformationsquelleAutor rockit | 2010-05-20

1 Comentario

  1. 4

    Sólo puedo pensar que esto es un incoherente de codificación de caracteres. Abra el archivo en el bloc de notas, elija Guardar Como y seleccione la codificación UTF-8 en el desplegable de «codificación». A continuación, agregue «UTF-8» como un segundo parámetro para InputStreamReader, por ejemplo,

    BufferedReader brReadMe = new BufferedReader
         (new InputStreamReader(new FileInputStream(filReadMe), "UTF-8"));

    Que debe resolver cualquier inconsistencia con la codificación.

    • Gracias, pero no hubo suerte. Sigue viendo en las plazas, en la lectura de las líneas..
    • La mala bytes están sucediendo entre cada byte, por lo que sospecho que la codificación UTF-16, no UTF-8.
    • Wooo! UTF-16 – que fue, lo siento soy un newb con el formato de archivo de lingo
    • joelonsoftware.com/articles/Unicode.html

Dejar respuesta

Please enter your comment!
Please enter your name here