CSV其實就是COMMA SEPARATED VALUE的縮寫。csv文件是分隔文件,如果使用java的io流來寫,比較麻煩,這里為大家提供一個javacsv的jar包,這個很方便操作csv文件。
下載地址:http://xiazai.VeVB.COm/201608/yuanma/javcsv(VeVB.COm).rar
那如何使用呢?
只要看看以下一個例子,您一下就明白了。
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*/@Testpublic 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文件:
"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
"id","pid""100000","空""100001","空""100046","100001""100052","100001""100088","100001"
以上所述是小編給大家介紹的使用Javacsv.jar的jar包操作csv文件的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
新聞熱點
疑難解答