持之以恒

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

          java 讀取csv文件,實例2

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

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

          CSV文件是一個計算機數據文件用于執行審判和真正的組織工具,逗號分隔的清單。常常被用于移動表格數據之間的兩個不同的計算機程序,例如關系數據庫程序和電子表格程序。

          本文以下面這個CSV文件為例,向大家簡要介紹Java語言的CSV讀寫操作的一種實現方法。

          writers.csv

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

          CSV讀取操作
          CSV文件讀取主要用到java.io.BufferedReader類和java.util.StringTokenizer類,BufferedReader用來讀入文件,StringTokenizer用來將一行數據分成多個字段。

          下面是用來讀取CSV文件內容的類:

          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) {
          // 把一行數據分割成多個字段
          StringTokenizer st = new StringTokenizer(line, ",");

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

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

          執行結果如下所示:

          CSV寫操作
          CSV文件讀取主要用到java.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));
          // 新增一行數據
          bw.newLine();
          bw.write("三槍拍案驚奇" + "," + "2009" + "," + "1212");
          bw.close();
          } catch (FileNotFoundException e) {
          // 捕獲File對象生成時的異常
          e.printStackTrace();
          } catch (IOException e) {
          // 捕獲BufferedWriter對象關閉時的異常
          e.printStackTrace();
          }
          }
          }

          執行之后的writers.csv文件如下所示:

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

           

          本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/aerchi/archive/2010/03/10/5364056.aspx



          小白

          評論

          # re: java 讀取csv文件,實例2  回復  更多評論   

          2013-10-21 08:54 by aisica
          非常好,學習了。
          主站蜘蛛池模板: 高淳县| 瑞昌市| 乐昌市| 类乌齐县| 昌都县| 竹溪县| 玛沁县| 日照市| 甘谷县| 通榆县| 津南区| 鸡东县| 富顺县| 汽车| 邵武市| 枣阳市| 珠海市| 射洪县| 广宁县| 日照市| 榆社县| 西安市| 塔河县| 嘉义市| 东莞市| 龙井市| 克拉玛依市| 兴和县| 阿克| 鹤峰县| 集安市| 万宁市| 霸州市| 武夷山市| 博乐市| 公主岭市| 长葛市| 鲁甸县| 金阳县| 乌什县| 台东县|