使用Javacsv.jar的jar包操作csv文件的方法
CSV其實(shí)就是COMMA SEPARATED VALUE的縮寫。csv文件是分隔文件,如果使用java的io流來(lái)寫,比較麻煩,這里為大家提供一個(gè)javacsv的jar包,這個(gè)很方便操作csv文件。
下載地址:http://xiazai.jb51.net/201608/yuanma/javcsv(jb51.net).rar
那如何使用呢?
只要看看以下一個(gè)例子,您一下就明白了。
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"));
//各字段以引號(hào)標(biāo)記
write.setForceQualifier(true);
//路過(guò)表頭
//r.readHeaders();
//逐條讀取記錄,直至讀完
String[] header = {};
while (reader.readRecord()) {
//把頭保存起來(lái)
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]};
//修改記錄,并只寫入第一個(gè)字段和第二字段
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","銀行動(dòng)態(tài)","2016/8/1 10:36:31" "100052","100001","No100052","2","法律法規(guī)","2016/8/2 20:39:10" "100088","100001","No100088","3","專業(yè)文庫(kù)","2016/8/5 19:05:47"
test.csv
"id","pid" "100000","空" "100001","空" "100046","100001" "100052","100001" "100088","100001"
以上所述是小編給大家介紹的使用Javacsv.jar的jar包操作csv文件的方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
通過(guò)pipeline配置sonar自動(dòng)化實(shí)現(xiàn)過(guò)程解析
這篇文章主要介紹了通過(guò)pipeline配置sonar自動(dòng)化實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
Spring Data JPA 復(fù)雜/多條件組合分頁(yè)查詢
本文主要介紹了Spring Data JPA 復(fù)雜/多條件組合分頁(yè)查詢的相關(guān)資料。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-04-04
SparkSQL使用IDEA快速入門DataFrame與DataSet的完美教程
本文給大家介紹使用idea開發(fā)Spark SQL 的詳細(xì)過(guò)程,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-08-08
Java數(shù)據(jù)結(jié)構(gòu)及算法實(shí)例:考拉茲猜想 Collatz Conjecture
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)及算法實(shí)例:考拉茲猜想 Collatz Conjecture,本文直接給出實(shí)現(xiàn)代碼,代碼中包含詳細(xì)注釋,需要的朋友可以參考下2015-06-06
Java在高并發(fā)場(chǎng)景下實(shí)現(xiàn)點(diǎn)贊計(jì)數(shù)器
點(diǎn)贊計(jì)數(shù)器的本質(zhì)就是對(duì)某個(gè)變量在高并發(fā)情況下的修改,這篇文章主要為大家介紹了Java實(shí)現(xiàn)點(diǎn)贊計(jì)數(shù)器的示例代碼,感興趣的小伙伴可以了解一下2023-06-06
Python文件高級(jí)操作函數(shù)之文件信息獲取與目錄操作
這篇文章主要介紹了Python文件高級(jí)操作函數(shù)之文件信息獲取與目錄操作,在Python中,內(nèi)置了文件(File)對(duì)象。在使用文件對(duì)象時(shí),首先需要通過(guò)內(nèi)置的open()方法創(chuàng)建一個(gè)文件對(duì)象,然后通過(guò)該對(duì)象提供的方法進(jìn)行一些基本文件操作,需要的朋友可以參考下2023-05-05

