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}}]
halocloud怎么样?halocloud是一个于2019下半年建立的商家,主要提供日本软银VPS,广州移动VDS,株洲联通VDS,广州移动独立服务器,Halo邮局服务,Azure香港1000M带宽月抛机器等。日本软银vps,100M/200M/500M带宽,可看奈飞,香港azure1000M带宽,可以解锁奈飞等流媒体,有需要看奈飞的朋友可以入手!点击进入:halocloud官方网站地址日本vp...
恒创科技也有暑期的活动,其中香港服务器也有一定折扣,当然是针对新用户的,如果我们还没有注册过或者可以有办法注册到新用户的,可以买他们家的香港服务器活动价格,2M带宽香港云服务器317元。对于一般用途还是够用的。 活动链接:恒创暑期活动爆款活动均是针对新用户的。1、云服务器仅限首次购买恒创科技产品的新用户。1 核 1G 实例规格,单个账户限购 1台;其他活动机型,单个账户限购 3 台(必须在一个订单...
感恩一年有你!免费领取2核4G套餐!2核4G轻量应用服务器2核 CPU 4GB内存 60G SSD云硬盘 6Mbps带宽领取地址:https://cloud.tencent.com/act/pro/lighthousethankyou活动规则活动时间2021年9月23日 ~ 2021年10月23日活动对象腾讯云官网已注册且完成实名认证的国内站用户(协作者与子用户账号除外),且符合以下活动条件:账号...