持之以恒

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

          java 讀取csv文件,實例2

          Posted on 2012-03-30 09:34 小白19870626 閱讀(22267) 評論(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
          非常好,學習了。
          主站蜘蛛池模板: 平顶山市| 乐亭县| 上饶县| 漯河市| 泗阳县| 抚宁县| 通化市| 三门县| 揭东县| 措勤县| 东乡| 正宁县| 门头沟区| 建昌县| 金塔县| 延边| 湾仔区| 靖州| 三原县| 菏泽市| 屯留县| 信宜市| 永泰县| 乃东县| 扶绥县| 汉沽区| 万州区| 南投市| 沾化县| 洛南县| 永嘉县| 应用必备| 九江市| 电白县| 南投县| 柳河县| 通山县| 青铜峡市| 仁化县| 黄陵县| 太仓市|