Java解析TXT的全过程
- <pattern value="dicts">
- <object-create-rule classname="java.util.ArrayList" />
- <pattern value="dict">
- <object-create-rule classname="test.digester.Dict" />
- <bean-property-setter-rule pattern="dictName" />
- <set-next-rule methodname="add" />
- </pattern>
- <set-next-rule methodname="setDicts" />
- </pattern>
- public void addDict(Dict dict) {
- dictMap.put(dict.getDictName(),dict);
- }
java 代码
本例使用的是逗号分隔,如果出现其他分隔符怎么办?为此,定义了一个分隔符接口:LineSpliter
java 代码
此处缺省实现了此接口,用于逗号分隔DefaultLineSpliter,定义如下:
java 代码
比如:如果行数据为aaa,bbb,,,,, 通过jdk的实现会返回aaa和bbb,而通过Lang包处理会返回包括后面空的字段.
2、接下来使用DigesterDigester包根据xml规则生成对象..
首先需要了解digester包的使用方法,这里简单的说一下:disgeter可以根据一定的规则将xml文件解析成一组对象...具体这里,我先定义
一个规则文件,
xml 代码
接着定义缺省的文件元数据文件,格式如下:
xml 代码
- <DefaultFileMeta name="com.xxx.file.DefaultFileMeta">
- <field>
- <beanname1>Codebeanname1>
- <beanname2>Namebeanname2>
- <beanname3>Datebeanname3>
- <beanname4>Remakebeanname4>
- field>
- DefaultFileMeta>
代码如下:GeneratorObject.createObject(){}
初始化CGLib
java 代码
java 代码
java 代码