csvcsv是基于java注解的csv读写框架。
特性
• Fluent流式写法
• 基于java注解支持自定义的转换和灵活配置
• 内置8大基本类型以及String类型转换
• 解决Excel直接打开 utf-8乱码问题
• 支持集合、数组、 Map的存取
• 支持对象中内嵌其他对象
• 支持特殊字符转义
特殊字符转义
在实际使用中有时候我们会用到, | :=。
这几个被使用的特殊字符。
如果你希望这些特殊的字符被正确的存取那么可以使用escape属性执行。特殊字符的转换
原始 转义后
, `&CSV_COMMA;
| &CSV_OR;
: &CSV_COLON;
= &CSV_EUQAL;
下面演示一下如何使用
暂时转义字符不支持自定义。
测试代码
写入测试public void escapeTest() {final String path = "src\\test\\resources\\escape.csv";
CsvWriteBs.newInstance(path)
.escape(true)
.write(buildUserEscapeList());
}
• 生成文件效果name,map,nameList,userone&CSV_COMMA;one,key&CSV_EUQAL;key=value&CSV_EUQAL;value,one&CSV_OR;one|two&CSV_OR;two,entry&CSV_COLON;name:0:0.0:0.0:false:0:0: :0
相关代码
• UserEscape.java
其中用到的对象为public class UserEscape {
/**
*使用,
*/private String name;
/**
*使用map =
*/private Map<String, String> map;
/**
*使用|
*/private List<String> nameList;
/**
*使用:
*/
@CsvEntryprivate User user;
//Getter & Setter & ToString()
}
• buildUserEscapeList()
构建时特意使用了特殊的字符。private List<UserEscape> buildUserEscapeList() {
UserEscape escape = new UserEscape();
Map<String, String> map = new HashMap<>();map.put("key=key", "value=value" );
User user = new User();user.name("entry:name");escape.name("one,one");escape.nameList(Arrays.asList("one|one", "two|two"));escape.map(map);escape.user(user);return Collections.singletonList(escape);
}
读取测试public void escapeTest() {final String path = "src\\test\\resources\\escape.csv";
List<UserEscape> userList = CsvReadBs.newInstance(path)
.escape(true)
.read(UserEscape.class);
System.out.println(userList);
}
• 日志信息
[UserEscape{name='one,one' , nameList=[one|one, two|two] , user=User{name='entry:name' , age=0, score=0.0, money=0.0, sex=false, level=0, id=0, status= , coin=0}, map={key=key=value=value}}]
青云互联怎么样?青云互联是一家成立于2020年6月份的主机服务商,致力于为用户提供高性价比稳定快速的主机托管服务,目前提供有美国免费主机、香港主机、香港服务器、美国云服务器,让您的网站高速、稳定运行。目前,美国洛杉矶cn2弹性云限时七折,美国cera机房三网CN2gia回程 13.3元/月起,可选Windows/可自定义配置。点击进入:青云互联官网青云互联优惠码:七折优惠码:dVRKp2tP (续...
华为云818上云活动活动截止到8月31日。1、秒杀限时区优惠仅限一单!云服务器秒杀价低至0.59折,每日9点开抢秒杀抢购活动仅限早上9点开始,有限量库存的。2G1M云服务器低至首年69元。2、新用户折扣区优惠仅限一单!购云服务器享3折起加购主机安全及数据库。企业和个人的优惠力度和方案是不同的。比如还有.CN域名首年8元。华为云服务器CPU资源正常没有扣量。3、抽奖活动在8.4-8.31日期间注册并...
EdgeNat 商家在之前也有分享过几次活动,主要提供香港和韩国的VPS主机,分别在沙田和首尔LG机房,服务器均为自营硬件,电信CN2线路,移动联通BGP直连,其中VPS主机基于KVM架构,宿主机采用四路E5处理器、raid10+BBU固态硬盘!最高可以提供500Gbps DDoS防御。这次开年活动中有提供七折优惠的韩国独立服务器,原生IP地址CN2线路。第一、优惠券活动EdgeNat优惠码(限月...