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}}]
炭云怎么样?炭云(之前的碳云),国人商家,正规公司(哈尔滨桓林信息技术有限公司),主机之家测评介绍过多次。现在上海CN2共享IP的VPS有一款特价,上海cn2 vps,2核/384MB内存/8GB空间/800GB流量/77Mbps端口/共享IP/Hyper-v,188元/年,特别适合电信网络。有需要的可以关注一下。点击进入:炭云官方网站地址炭云vps套餐:套餐cpu内存硬盘流量/带宽ip价格购买上...
Friendhosting发布了今年黑色星期五促销活动,针对全场VDS主机提供45折优惠码,虚拟主机4折,老用户续费可获9折加送1个月使用时长,优惠后VDS最低仅€14.53/年起,商家支持PayPal、信用卡、支付宝等付款方式。这是一家成立于2009年的老牌保加利亚主机商,提供的产品包括虚拟主机、VPS/VDS和独立服务器租用等,数据中心可选美国、保加利亚、乌克兰、荷兰、拉脱维亚、捷克、瑞士和波...
racknerd发表了2021年美国独立日的促销费用便宜的vps,两种便宜的美国vps位于洛杉矶multacom室,访问了1Gbps的带宽,采用了solusvm管理,硬盘是SSDraid10...近两年来,racknerd的声誉不断积累,服务器的稳定性和售后服务。官方网站:https://www.racknerd.com多种加密数字货币、信用卡、PayPal、支付宝、银联、webmoney,可以付...