|
软件标签: csv文件 编辑器
javacsv jar是一款非常好用的csv编辑软件,能处理特殊字符和换行符的问题,自己写的话很容易在特殊字符和换行符上出问题,建议用高人写的jar包,需要的朋友欢迎来绿色资源网下载。
csv是什么
所谓csv,是comma separated value(逗号分隔值)的英文缩写,通常都是纯文本文件。 我们使用supercsv来解析csv文件, super csv是一个用于处理csv文件的java开源项目。它完全围绕面向对象的思想进行设计,因此可以利用你的面向对象代码来使得处理csv文件变得更加简 易。它支持输入/输出类型转换、数据完整性校验,支持从任何地方以任何编码读写数据,只要提供相应的reader与writer对象。可配置分割符,空格 符号和行结束符等。

运行环境介绍
jdk1.6supercsv-1.52.jar
代码介绍
import java.io.fileinputstream;import java.io.filenotfoundexception;import java.io.ioexception;import java.io.inputstreamreader;import java.io.unsupportedencodingexception;import java.util.iterator;import java.util.list;import org.apache.log4j.logger;import org.supercsv.io.csvlistreader;import org.supercsv.prefs.csvpreference;public class csvparser implements iterator<list<string>>{private static final logger logger = logger.getlogger(csvparser.class);private csvlistreader reader = null;private list<string> row = null;public csvparser(string csvfile, string encoding) {super();try {reader = new csvlistreader(new inputstreamreader(new fileinputstream(csvfile), encoding), csvpreference.excel_preference);} catch (unsupportedencodingexception e) {logger.error(e.getmessage(), e);} catch (filenotfoundexception e) {logger.error(e.getmessage(), e);}}public boolean hasnext(){try {if(reader.getlinenumber() == 0){//row = reader.read();}row = reader.read();} catch (ioexception e) {logger.error(e.getmessage(), e);}return row != null;}public list<string> next(){return row;}public void remove(){throw new unsupportedoperationexception("本csv解析器是只读的.");}public void close(){if(reader != null){try {reader.close();} catch (ioexception e) {logger.error(e.getmessage(), e);}}}/*** 当前行号,从1开始* @return int*/public int getlinenumber(){return reader.getlinenumber() - 1;}}3. 测试代码string file = "d:\test.csv";csvparser p = new csvparser(file, "gbk");while(p.hasnext()){list<string> row = p.next();system.out.println(p.getlinenumber() + " : " + row.get(0) + ", " + row.get(1));}p.close();

|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|