持之以恒

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

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

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

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

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

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

          writers.csv

          張藝謀,1951,1114
          小沈陽(yáng),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對(duì)象生成時(shí)的異常
          e.printStackTrace();
          } catch (IOException e) {
          // 捕獲BufferedReader對(duì)象關(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對(duì)象生成時(shí)的異常
          e.printStackTrace();
          } catch (IOException e) {
          // 捕獲BufferedWriter對(duì)象關(guān)閉時(shí)的異常
          e.printStackTrace();
          }
          }
          }

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

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

           

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



          小白

          評(píng)論

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

          2013-10-21 08:54 by aisica
          非常好,學(xué)習(xí)了。
          主站蜘蛛池模板: 巴东县| 云林县| 乐安县| 鄂伦春自治旗| 都江堰市| 兰溪市| 林芝县| 兴宁市| 临潭县| 浦县| 沙坪坝区| 恭城| 安阳县| 崇左市| 石泉县| 连山| 张掖市| 印江| 四子王旗| 博客| 石泉县| 东兴市| 平阳县| 武邑县| 澄城县| 临沭县| 滦平县| 台江县| 永泰县| 潮州市| 海林市| 祁东县| 广丰县| 集贤县| 宁乡县| 西畴县| 浦城县| 广南县| 兴海县| 翼城县| 鄂伦春自治旗|