持之以恒

          記錄本
          posts - 4, comments - 32, trackbacks - 0, articles - 74
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          java 讀取csv文件,實(shí)例2

          Posted on 2012-03-30 09:34 小白19870626 閱讀(22260) 評論(1)  編輯  收藏 所屬分類: java

          CSV文件簡介
          逗號分隔型取值格式(英文全稱為Comma Separated Values,簡稱CSV),是一種純文本格式,用來存儲數(shù)據(jù)。在CSV中,數(shù)據(jù)的字段由逗號分開,程序通過讀取文件重新創(chuàng)建正確的字段,方法是每次遇到逗號時(shí)開始新一段數(shù)據(jù)。

          CSV文件是一個(gè)計(jì)算機(jī)數(shù)據(jù)文件用于執(zhí)行審判和真正的組織工具,逗號分隔的清單。常常被用于移動表格數(shù)據(jù)之間的兩個(gè)不同的計(jì)算機(jī)程序,例如關(guān)系數(shù)據(jù)庫程序和電子表格程序。

          本文以下面這個(gè)CSV文件為例,向大家簡要介紹Java語言的CSV讀寫操作的一種實(shí)現(xiàn)方法。

          writers.csv

          張藝謀,1951,1114
          小沈陽,1981,0507
          孫紅雷,1970,0816
          閆妮,1971,0310

          CSV讀取操作
          CSV文件讀取主要用到j(luò)ava.io.BufferedReader類和java.util.StringTokenizer類,BufferedReader用來讀入文件,StringTokenizer用來將一行數(shù)據(jù)分成多個(gè)字段。

          下面是用來讀取CSV文件內(nèi)容的類:

          package tip;

          import java.io.BufferedReader;
          import java.io.File;
          import java.io.FileNotFoundException;
          import java.io.FileReader;
          import java.io.IOException;
          import java.util.StringTokenizer;

          public class ReadCSV {

          public static void main(String[] args) {
          try {
          File csv = new File("C:\\writers.csv"); // CSV文件

          BufferedReader br = new BufferedReader(new FileReader(csv));

          // 讀取直到最后一行
          String line = "";
          while ((line = br.readLine()) != null) {
          // 把一行數(shù)據(jù)分割成多個(gè)字段
          StringTokenizer st = new StringTokenizer(line, ",");

          while (st.hasMoreTokens()) {
          // 每一行的多個(gè)字段用TAB隔開表示
          System.out.print(st.nextToken() + "\t");
          }
          System.out.println();
          }
          br.close();

          } catch (FileNotFoundException e) {
          // 捕獲File對象生成時(shí)的異常
          e.printStackTrace();
          } catch (IOException e) {
          // 捕獲BufferedReader對象關(guān)閉時(shí)的異常
          e.printStackTrace();
          }
          }
          }

          執(zhí)行結(jié)果如下所示:

          CSV寫操作
          CSV文件讀取主要用到j(luò)ava.io.BufferedWriter類。

          下面是寫CSV文件的類:

          package tip;

          import java.io.BufferedWriter;
          import java.io.File;
          import java.io.FileNotFoundException;
          import java.io.FileWriter;
          import java.io.IOException;

          public class WriteCSV {

          public static void main(String[] args) {
          try {
          File csv = new File("C:\\writers.csv"); // CSV文件
          // 追記模式
          BufferedWriter bw = new BufferedWriter(new FileWriter(csv, true));
          // 新增一行數(shù)據(jù)
          bw.newLine();
          bw.write("三槍拍案驚奇" + "," + "2009" + "," + "1212");
          bw.close();
          } catch (FileNotFoundException e) {
          // 捕獲File對象生成時(shí)的異常
          e.printStackTrace();
          } catch (IOException e) {
          // 捕獲BufferedWriter對象關(guān)閉時(shí)的異常
          e.printStackTrace();
          }
          }
          }

          執(zhí)行之后的writers.csv文件如下所示:

          張藝謀,1951,1114
          小沈陽,1981,0507
          孫紅雷,1970,0816
          閆妮,1971,0310
          三槍拍案驚奇,2009,1212

           

          本文來自CSDN博客,轉(zhuǎn)載請標(biāo)明出處:http://blog.csdn.net/aerchi/archive/2010/03/10/5364056.aspx



          小白

          評論

          # re: java 讀取csv文件,實(shí)例2  回復(fù)  更多評論   

          2013-10-21 08:54 by aisica
          非常好,學(xué)習(xí)了。
          主站蜘蛛池模板: 凯里市| 德阳市| 平乐县| 达日县| 南昌县| 黔西县| 老河口市| 项城市| 塔城市| 惠安县| 丰顺县| 原平市| 上饶县| 阿克陶县| 大田县| 徐闻县| 桂林市| 大邑县| 赣榆县| 阳东县| 察隅县| 遂宁市| 尼勒克县| 湟中县| 上饶县| 泗洪县| 昌都县| 成都市| 湘潭市| 长丰县| 灵武市| 绥滨县| 凌源市| 河间市| 渑池县| 右玉县| 丰都县| 吐鲁番市| 家居| 沂南县| 织金县|