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導(dǎo)出 * * @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" )); //各字段以引號標(biāo)記 write.setForceQualifier( true ); //路過表頭 //r.readHeaders(); //逐條讀取記錄,直至讀完 String[] header = {}; while (reader.readRecord()) { //把頭保存起來 if (reader.getCurrentRecord()==0){ header = reader.getValues(); } //獲取當(dāng)前記錄位置 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" , "" , "熱點(diǎn)資訊" , "2016/8/24 17:12:36" "100046" , "100001" , "No100046" , "1" , "銀行動態(tài)" , "2016/8/1 10:36:31" "100052" , "100001" , "No100052" , "2" , "法律法規(guī)" , "2016/8/2 20:39:10" "100088" , "100001" , "No100088" , "3" , "專業(yè)文庫" , "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文件的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對服務(wù)器之家網(wǎng)站的支持!
原文鏈接:http://www.cnblogs.com/javalittleman/archive/2016/08/19/javacsv.html