У меня есть файл csv с входным содержимым, разделенным запятой ",". Я хочу преобразовать это в текстовый файл с "|" разделитель. Я использую apache camel 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();
}
}
});
}
}
Вывод
файл.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
Ожидаемый результат
файл.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
В приведенном выше выходном файле .txt последние два столбца — это две константы, которые у меня есть в моем классе Test.java pojo. Я хотел бы обогатить свои поля pojo конечным результатом. Есть ли способ добиться результата.