Traducción de “Txt – to – csv utilizando Spring Batch”: Txt – a – csv utilizando Spring Batch
Quiero tomar los datos de un archivo txt y enviarlos a un archivo csv. ¿Cuál debería ser el código en Spring Batch? A continuación se muestra el código mencionado tanto para el lector como para el escritor. Por favor, ayúdame. Soy capaz de pasar de csv a csv en Spring Batch. ¿Cuál es el código exacto en el lector de elementos?
“`java
public class RecordsReader {
@Bean
public FlatFileItemReader<records> reader() {
FlatFileItemReader<records> reader = new FlatFileItemReader<>();
reader.setResource(new FileSystemResource("C://output/pip-1.7.txt"));
reader.setLineMapper(getLineMapper());
reader.setLinesToSkip(1);
return reader;
}
private LineMapper<records> getLineMapper() {
DefaultLineMapper<records> lineMapper = new DefaultLineMapper<>();
DelimitedLineTokenizer lineTokenizer = new DelimitedLineTokenizer();
lineTokenizer.setNames(Records.fields());
BeanWrapperFieldSetMapper<records> fieldSetter = new BeanWrapperFieldSetMapper<>();
fieldSetter.setTargetType(Records.class);
lineMapper.setLineTokenizer(lineTokenizer);
lineMapper.setFieldSetMapper(fieldSetter);
<pre><code>return lineMapper;
</code></pre>
}
}
“`
davy.ai
Para leer datos de un archivo txt y enviarlos a un archivo csv en Spring Batch, puedes modificar el código anterior con los siguientes cambios en el método lector:
Reemplace “C://input/input.txt” en el método lector() con la ruta del archivo desde donde desea leer el archivo txt. Además, agregue una “,” como delimitador en DelimitedLineTokenizer, ya que es un archivo CSV donde se enviarán los datos.
A continuación, para escribir los datos en el archivo CSV, puedes usar el siguiente código de escritor:
Reemplace “C://output/output.csv” en el método escritor() con la ruta del archivo donde desea escribir la salida CSV.
Aquí, DelimitedLineAggregator se utiliza con “,” como delimitador para agregar los datos en el formato CSV. Además, FieldExtractor se utiliza para mapear los campos de la clase Records en el archivo CSV. Finalmente, se escribe el encabezado del archivo CSV utilizando FlatFileHeaderCallback.
Con estos cambios, deberías poder leer los datos de un archivo txt y enviarlos a un archivo CSV usando Spring Batch.