使用Javacsv.jar的jar包操作csv文件的方法
CSV其實(shí)就是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)文章
詳解Spring Boot + Mybatis 實(shí)現(xiàn)動態(tài)數(shù)據(jù)源
這篇文章主要介紹了Spring Boot + Mybatis 實(shí)現(xiàn)動態(tài)數(shù)據(jù)源,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04Spring注解@Autowired和@Resource的區(qū)別詳解
這篇文章主要介紹了Spring注解@Autowired和@Resource的區(qū)別詳解,@Autowired與@Resource都可以用來裝配bean,都可以寫在字段或setter方法上,@Resource是JDK提供的注解,默認(rèn)按照名稱進(jìn)行裝配,名稱可通過name屬性進(jìn)行指定,需要的朋友可以參考下2023-12-12HTTP 415錯誤-Unsupported media type詳解
這篇文章主要介紹了HTTP 415錯誤-Unsupported media type詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08springmvc下實(shí)現(xiàn)登錄驗(yàn)證碼功能示例
本篇文章主要介紹了springmvc下實(shí)現(xiàn)登錄驗(yàn)證碼功能示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02Java線上問題排查神器Arthas實(shí)戰(zhàn)原理解析
原先我們Java中我們常用分析問題一般是使用JDK自帶或第三方的分析工具如jstat、jmap、jstack、?jconsole、visualvm、Java?Mission?Control、MAT等,還有一款神器Arthas工具,可幫助程序員解決很多繁瑣的問題,感興趣的朋友一起看看吧2022-01-01關(guān)于Java中的try-with-resources語句
這篇文章主要介紹了關(guān)于Java中的try-with-resources語句,try-with-resources是Java中的環(huán)繞語句之一,旨在減輕開發(fā)人員釋放try塊中使用的資源的義務(wù),需要的朋友可以參考下2023-05-05詳解Spring中Bean后置處理器(BeanPostProcessor)的使用
BeanPostProcessor 接口也被稱為Bean后置處理器,通過該接口可以自定義調(diào)用初始化前后執(zhí)行的操作方法。本文將詳細(xì)講講它的使用,需要的可以參考一下2022-06-06