Buscamos en el mundo online y así darte la respuesta a tu inquietud, en caso de alguna inquietud deja tu inquietud y te contestamos con gusto, porque estamos para servirte.
Solución:
Parece que está imprimiendo todos los registros en la misma línea.
Otros métodos como printRecords serán más útiles:
String outputFile = savePath+".csv";
CSVPrinter csvFilePrinter = null;
CSVFormat csvFileFormat = CSVFormat.EXCEL.withHeader();
FileWriter fileWriter = new FileWriter(outputFile);
csvFilePrinter = new CSVPrinter(fileWriter, csvFileFormat);
csvFilePrinter.printRecords(excelParser.getRecords());
fileWriter.flush();
fileWriter.close();
csvFilePrinter.close();
La respuesta de Arnaud es correcta y buena. Aquí hay una variación, más corta y más moderna.
Aquí nosotros:
- Utilizar el
Path
,File
yFiles
clases ofrecidas por Java moderno para facilitar el trabajo de manejo de archivos. - Utilizar una
BufferedWriter
para un mejor rendimiento con grandes cantidades de datos. - Especifique la codificación de caracteres que se utilizará. Por lo general, UTF-8 es el mejor. Si no entiendes, lee esto.
- Incluya las capturas de prueba necesarias para las excepciones relacionadas con archivos.
- Agregue la sintaxis de prueba con recursos para cerrar automáticamente el archivo.
- Omita el vaciado explícito, ya que el escritor almacenado en búfer se vaciará automáticamente como parte del cierre automático del
BufferedWriter
yCSVPrinter
. Para citar el Javadoc, llamandojava.io.Writer::close
“Cierra la corriente, enjuagándola primero”.
Código:
CSVFormat format = CSVFormat.EXCEL.withHeader();
Path path = Paths.get( savePath + ".csv" );
try (
BufferedWriter writer = Files.newBufferedWriter( path , StandardCharsets.UTF_8 ) ;
CSVPrinter printer = new CSVPrinter( writer , format ) ;
)
printer.printRecords( excelParser.getRecords() );
catch ( IOException e )
e.printStackTrace();
Editar: Faltaba un corchete.
Te mostramos las reseñas y valoraciones de los lectores
Recuerda dar visibilidad a esta noticia si si solucionó tu problema.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)