使用Javacsv.jar的jar包操作csv文件的方法
CSV其实就是COMMASEPARATEDVALUE的缩写。csv文件是分隔文件,如果使用java的io流来写,比较麻烦,这里为大家提供一个javacsv的jar包,这个很方便操作csv文件。
下载地址:http://xiazai.jb51.net/201608/yuanma/javcsv(jb51.net).rar
那如何使用呢?
只要看看以下一个例子,您一下就明白了。
importcom.csvreader.CsvReader;
importcom.csvreader.CsvWriter;
importorg.junit.Test;
importjava.io.IOException;
importjava.nio.charset.Charset;
/**
*Createdbyjavalittlemanon2016/8/18.
*/
publicclassTestCVS{
/**
*CSV导出
*
*@throwsException
*/
@Test
publicvoidexportCsv()throwsIOException{
StringsrcCSV="F:/cnt_programa.csv";
StringtargetFile="F:/test.csv";
CsvReaderreader=newCsvReader(srcCSV,',',Charset.forName("UTF-8"));
CsvWriterwrite=newCsvWriter(targetFile,',',Charset.forName("UTF-8"));
//各字段以引号标记
write.setForceQualifier(true);
//路过表头
//r.readHeaders();
//逐条读取记录,直至读完
String[]header={};
while(reader.readRecord()){
//把头保存起来
if(reader.getCurrentRecord()==0){
header=reader.getValues();
}
//获取当前记录位置
System.out.print(reader.getCurrentRecord()+".");
//读取一条记录
System.out.println(reader.getRawRecord());
String[]tmp={reader.getValues()[0],reader.getValues()[1]};
//修改记录,并只写入第一个字段和第二字段
if(!header[1].equals(tmp[1])&&("".equals(tmp[1])||tmp==null)){
tmp[1]="空";
write.writeRecord(tmp);
}else{
write.writeRecord(newString[]{reader.getValues()[0],reader.getValues()[1]});
}
}
reader.close();
write.close();
}
}
cnt_programa.csv文件:
"id","pid","no","serial","name","createtime" "100000","","No100000","","公司新闻","2016/8/2317:12:09" "100001","","No100001","","热点资讯","2016/8/2417:12:36" "100046","100001","No100046","1","银行动态","2016/8/110:36:31" "100052","100001","No100052","2","法律法规","2016/8/220:39:10" "100088","100001","No100088","3","专业文库","2016/8/519:05:47"
test.csv
"id","pid" "100000","空" "100001","空" "100046","100001" "100052","100001" "100088","100001"
以上所述是小编给大家介绍的使用Javacsv.jar的jar包操作csv文件的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!