Код: Выделить всё
XXX Czech Republic s.r.o.
Xe XX? 559
252 67 XXX??ice
Phone: +000 000 003 300
========================================= Remittance Advice ==============================================================
xxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxx
CZ
==========================================================================================================================
Attached is a cheque in respect of the 3 COD(s) for the shipments noted below.
Tracking Number Recipient Reference Cod Amount Remittance
13699302850434 xxxxxxxxxxxxxxxxxx CZK 17322.00 CZK 17322.00
xxxxxxxxxxxxx
13699302969163 xxxxxx EUR 1424.00 CZK 1424.00
xxxxxxxxxxxxxx
13699302965778 xxxxxxxxxx EUR 4720.00 CZK 4720.00
xxxxxxxxxx
____________
Total remitted 23466.00
============
Я нет эксперт по Java, поэтому я придумал приведенную ниже логику, но все, что она делает, это разбивает данные, но как мне читать отдельные столбцы.
Код: Выделить всё
private static void processTextFile(File attachment, Date emailDate) throws Exception {
BufferedReader in = new BufferedReader(new InputStreamReader(
new FileInputStream(attachment)));
String line = null;
String[] headers = null;
String[] data = null;
Map contents = new HashMap();
if ((line = in.readLine()) != null) {
headers = line.split("\t");
}
for(String h : headers){
contents.put(h, new ArrayList());
}
while ((line = in.readLine()) != null && line.startsWith("Attached is a cheque")) {
data = line.split("\t");
if(data.length != headers.length){
throw new Exception();
}
for(int i = 0; i < data.length; i++){
contents.get(headers[i]).add(data[i]);
}
}
}
Код: Выделить всё
filename
YYYYMDD
XXX Czech Republic s.r.o.
1Z763W8Y7991338730
MICXXXXLES EE
24011921
1
EUR
1337.01
CZK
33317.09
37162537
10084189
33317.09
1
Код: Выделить всё
public class CODTextFileBO {
private String trackingNumber;
private String recipient;
private String reference;
private Float codAmount;
private String currencyCode;
public String getTrackingNumber() {
return trackingNumber;
}
public void setTrackingNumber(String trackingNumber) {
this.trackingNumber = trackingNumber;
}
public String getRecipient() {
return recipient;
}
public void setRecipient(String recipient) {
this.recipient = recipient;
}
public String getReference() {
return reference;
}
public void setReference(String reference) {
this.reference = reference;
}
public Float getCodAmount() {
return codAmount;
}
public void setCodAmount(Float codAmount) {
this.codAmount = codAmount;
}
public String getCurrencyCode() {
return currencyCode;
}
public void setCurrencyCode(String currencyCode) {
this.currencyCode = currencyCode;
}
}
public class DataFromDBTableBO {
private String accountNumber;
private String invoiceNumber;
public String getAccountNumber() {
return accountNumber;
}
public void setAccountNumber(String accountNumber) {
this.accountNumber = accountNumber;
}
public String getInvoiceNumber() {
return invoiceNumber;
}
public void setInvoiceNumber(String invoiceNumber) {
this.invoiceNumber = invoiceNumber;
}
}
Подробнее здесь: https://stackoverflow.com/questions/788 ... g-into-xml
Мобильная версия