使用Javacsv.jar的jar包操作csv文件的方法
CSV其實就是COMMA SEPARATED VALUE的縮寫。csv文件是分隔文件,如果使用java的io流來寫,比較麻煩,這里為大家提供一個javacsv的jar包,這個很方便操作csv文件。
下載地址:http://xiazai.jb51.net/201608/yuanma/javcsv(jb51.net).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導(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文件:
"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
"id","pid" "100000","空" "100001","空" "100046","100001" "100052","100001" "100088","100001"
以上所述是小編給大家介紹的使用Javacsv.jar的jar包操作csv文件的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
通過pipeline配置sonar自動化實現(xiàn)過程解析
這篇文章主要介紹了通過pipeline配置sonar自動化實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11
Spring Data JPA 復(fù)雜/多條件組合分頁查詢
本文主要介紹了Spring Data JPA 復(fù)雜/多條件組合分頁查詢的相關(guān)資料。具有很好的參考價值。下面跟著小編一起來看下吧2017-04-04
SparkSQL使用IDEA快速入門DataFrame與DataSet的完美教程
本文給大家介紹使用idea開發(fā)Spark SQL 的詳細(xì)過程,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2021-08-08
Java數(shù)據(jù)結(jié)構(gòu)及算法實例:考拉茲猜想 Collatz Conjecture
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)及算法實例:考拉茲猜想 Collatz Conjecture,本文直接給出實現(xiàn)代碼,代碼中包含詳細(xì)注釋,需要的朋友可以參考下2015-06-06
Java在高并發(fā)場景下實現(xiàn)點(diǎn)贊計數(shù)器
點(diǎn)贊計數(shù)器的本質(zhì)就是對某個變量在高并發(fā)情況下的修改,這篇文章主要為大家介紹了Java實現(xiàn)點(diǎn)贊計數(shù)器的示例代碼,感興趣的小伙伴可以了解一下2023-06-06
本章具體介紹了HashMap、TreeMap兩種集合的基本使用方法和區(qū)別,圖解穿插代碼實現(xiàn)。?JAVA成仙路從基礎(chǔ)開始講,后續(xù)會講到JAVA高級,中間會穿插面試題和項目實戰(zhàn),希望能給大家?guī)韼椭?/div> 2022-03-03
Python文件高級操作函數(shù)之文件信息獲取與目錄操作
這篇文章主要介紹了Python文件高級操作函數(shù)之文件信息獲取與目錄操作,在Python中,內(nèi)置了文件(File)對象。在使用文件對象時,首先需要通過內(nèi)置的open()方法創(chuàng)建一個文件對象,然后通過該對象提供的方法進(jìn)行一些基本文件操作,需要的朋友可以參考下2023-05-05最新評論

