CSV其实就是COMMA SEPARATED VALUE的缩写。csv文件是分隔文件,如果使用java的io流来写,比较麻烦,这里为大家提供一个javacsv的jar包,这个很方便操作csv文件。
下载地址:javcsv.rar
那如何使用呢?
只要看看以下一个例子,您一下就明白了。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
import com.csvreader.CsvReader;
import com.csvreader.CsvWriter;
import org.junit.Test;
import java.io.IOException;
import java.nio.charset.Charset;
/**
* Created by javalittleman on 2016/8/18.
*/
public class TestCVS {
/**
* CSV导出
*
* @throws Exception
*/
@Test
public void exportCsv() throws IOException {
String srcCSV = "F:/cnt_programa.csv" ;
String targetFile = "F:/test.csv" ;
CsvReader reader = new CsvReader(srcCSV, ',' , Charset.forName( "UTF-8" ));
CsvWriter write = new CsvWriter(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( new String[]{reader.getValues()[0],reader.getValues()[1]});
}
}
reader.close();
write.close();
}
}
|
cnt_programa.csv文件:
1
2
3
4
5
6
|
"id" , "pid" , "no" , "serial" , "name" , "createtime"
"100000" , "" , "No100000" , "" , "公司新闻" , "2016/8/23 17:12:09"
"100001" , "" , "No100001" , "" , "热点资讯" , "2016/8/24 17:12:36"
"100046" , "100001" , "No100046" , "1" , "银行动态" , "2016/8/1 10:36:31"
"100052" , "100001" , "No100052" , "2" , "法律法规" , "2016/8/2 20:39:10"
"100088" , "100001" , "No100088" , "3" , "专业文库" , "2016/8/5 19:05:47"
|
test.csv
1
2
3
4
5
6
|
"id" , "pid"
"100000" , "空"
"100001" , "空"
"100046" , "100001"
"100052" , "100001"
"100088" , "100001"
|
以上所述是小编给大家介绍的使用Javacsv.jar的jar包操作csv文件的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://www.cnblogs.com/javalittleman/archive/2016/08/19/javacsv.html