У меня есть CSV-файл с входным содержимым, разделенным запятой ",". Я хочу преобразовать это в текстовый файл с "|" разделитель. Я использую apache верблюд CsvDataFormat для преобразования заданного формата данных CSV. Я могу преобразовать содержимое CSV в строку с разделителем канала. У меня есть еще две константы, которые я назначил двум переменным. Я хотел бы обогатить содержимое выходных данных двумя дополнительными полями, как показано в ожидаемом результате.
Вход
test.csv
Jack Dalton, 115, mad at Averell
Joe Dalton, 105, calming Joe
William Dalton, 105, keeping Joe from killing
Averell Averell Dalton, 80, playing with Rantanplan
Lucky Luke, 120, capturing the Daltons
Test. java
public class Test{
private String name = "Hell0";
private String address = "134 johen rd";
}
ConverterRoute. java
public class ConverterRoute implements RoutesBuilder {
private static final String SOURCE_INPUT_PATH = "file://inbox?fileName=test.csv";
private static final String SOURCE_OUTPUT_PATH = "file://outbox?fileName=file.txt";
public void addRoutesToCamelContext(CamelContext context) throws Exception {
context.addRoutes(new RouteBuilder() {
public void configure() {
try {
CsvDataFormat csvDataFormat = new CsvDataFormat();
csvDataFormat.setDelimiter('|');
csvDataFormat.setHeaderDisabled(true);
from(SOURCE_INPUT_PATH).
unmarshal().csv().
marshal(csvDataFormat).
to(SOURCE_OUTPUT_PATH)
.end();
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
}
Выход
file.txt
Jack Dalton| 115 | mad at Averell
Joe Dalton| 105 | calming Joe
William Dalton | 105 | keeping Joe from killing
Averell Averell Dalton| 80| playing with Rantanplan
Lucky Luke| 120| capturing the Daltons
Ожидаемый вывод
file.txt
Jack Dalton| 115 | mad at Averell | Hell0 | 134 johen rd
Joe Dalton| 105 | calming Joe | Hell0 | 134 johen rd
William Dalton | 105 | keeping Joe from killing | Hell0 | 134 johen rd
Averell Averell Dalton| 80| playing with Rantanplan | Hell0 | 134 johen rd
Lucky Luke| 120| capturing the Daltons | Hell0 | 134 johen rd
В вышеуказанном выходном файле file.txt последние два столбцы - это две константы, которые я имею в своем тесте. java класс pojo. Я хотел бы обогатить мои поля pojo в конечном результате. Есть ли способ, которым я могу достичь результата.