首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扩展ascii代码中的Camel Bindy分隔符

扩展ascii代码中的Camel Bindy分隔符
EN

Stack Overflow用户
提问于 2017-04-17 16:16:54
回答 3查看 327关注 0票数 0

我正在使用Camel Bindy处理我从第三方公司收到的csv文件。

在他们的csv中,他们使用了扩展ascii表中的分隔符:"\u00a4“(十进制代码164 )。

我试着这样设置bindy:

代码语言:javascript
复制
@CsvRecord(separator = "\u00a4")

但是它无法分隔列。

当我将csv分隔符更改为更标准的内容时,如";“,一切工作正常。由于此csv是从外部公司发送的,因此我无法自行更改它。

有没有办法设置Bindy来支持它?

代码语言:javascript
复制
@CsvRecord(separator = "§")
public class Employee {

@DataField(pos = 1)
private String employeeId;
@DataField(pos = 2, pattern = "dd/MM/yyyy")
private Date startDate;
@DataField(pos = 3, pattern = "dd/MM/yyyy")
private Date endDate;
@DataField(pos = 4)
private Character code;

// Getters and Setters

}

CSV内容:"aC1aoC3"§"12/04/2017"§"12/04/2017"§"A“”aC1aoC3“§”13/04/2017“§”A“"aC1aoC3"§"14/04/2017"§"14/04/2017"§"A”"aC1aoC3"§"15/04/2017"§"15/04/2017"§"A“"aC1aoC3"§"16/04/2017"§"16/04/2017"§"U“"aC1aoC3"§"17/04/2017"§"17/04/2017"§"U”"aC1aoC3"§"18/04/2017"§"18/04/2017"§"U“

非常感谢您的帮助

吉尔斯

EN

回答 3

Stack Overflow用户

发布于 2017-04-17 17:26:41

你能试试Camel bindy中列出的案例3和案例4吗?

http://camel.apache.org/bindy.html

different case's

票数 1
EN

Stack Overflow用户

发布于 2017-04-17 23:05:09

十进制的section sign (§)是167,而不是164。

将分隔符更改为\u00A7,如下所示:

代码语言:javascript
复制
@CsvRecord(separator = "\u00A7")
public class Employee { ... }
票数 0
EN

Stack Overflow用户

发布于 2017-04-18 02:08:31

明白了。这是一个编码问题。字符无法读取,已替换为65533 (unicode)替换字符。

我通过设置读取csv文件的ftp连接的charset=ISO-8859-1解决了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43447746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档