<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-16  評(píng)論-54  文章-0  trackbacks-0
      2008年10月31日
     

     

    1      基本介紹

    可以說(shuō)CSV格式的文件經(jīng)常碰到,何為CSV格式,CVS全稱comma-separated values,就是典型的用逗號(hào)隔開(kāi)的文件,比如下面這種文件格式

    Name,company

    zhangsan,ibm

    lisi,oracle

    這種就是典型的CSV格式文件。不過(guò)也可以擴(kuò)展到其它符號(hào)隔開(kāi)的字符,比如

    Name#company

    Zhangsan#ibm

    Lisi#oracle

    這種也算CSV格式

    Java開(kāi)源框架CVSReader提供了一個(gè)輕量級(jí)、簡(jiǎn)單方便的統(tǒng)一操作接口可用,下面具體講解如何操作CVS格式

    2      安裝和使用

    2.1下載

    目前CSV reader的最新發(fā)布版本是1.8。我們可以從

    http://opencsv.sourceforge.net/

    上面下載到最新的csvreader包。

    2.2安裝

    直接把jar包分別存放到開(kāi)發(fā)工程的類路徑下面即可使用。

    3      讀取CSV格式文件

    3.1基本簡(jiǎn)介

    首先,讀取CSV格式的文件需要?jiǎng)?chuàng)建一個(gè)CSVReader,如下

    CsvReader reader = new CsvReader(Reader r,  char c);

    其中第一個(gè)參數(shù)為讀取文件,第二個(gè)參數(shù)為分割符,比如“,”,或者“#

    另外,也有其它幾個(gè)參數(shù),可以查閱API,比如

    CsvReader reader = new CsvReader(InputStream r,  char c, Charset charset);等等

    其次,一般需要讀取頭信息,如下:

    reader.readHeaders();

    String[] headers = reader.getHeaders();

    讀取了后,指針就會(huì)移動(dòng)到下一行,也就是可以開(kāi)始讀取文件內(nèi)容

    假如,有多行的話,可以用一個(gè)循環(huán)套入,例如下面:

                 while (reader.readRecord()) {

                        for (int i = 0; i < headers.length; i++) {

                               String value = reader.get(headers[i]);

                               System.out.print(value+" ");

                        }

                        System.out.println("");

                 }

    3.2綜合例子

    C盤下創(chuàng)建一個(gè)測(cè)試文件test.cvs,內(nèi)容如下:

    a#b#c

    1#2#3

    4#5#6

    下面是解析代碼:

          public static void main(String[] args) throws Exception {

    CsvReader reader = new CsvReader(new FileReader("c://csv.txt"), '#');

                 reader.readHeaders();

                 String[] headers = reader.getHeaders();

                 while (reader.readRecord()) {

                        for (int i = 0; i < headers.length; i++) {

                               String value = reader.get(headers[i]);

                               System.out.print(value+" ");

                        }

                        System.out.println("");

                 }

          }

    運(yùn)行以上程序,可以看到輸出

     1 2 3

     4 5 6

    4      CSV格式文件

    CSV格式文件也比較簡(jiǎn)單,寫每一列只要直接調(diào)用

    csvWriter.write()即可

    另外,寫完每行結(jié)束后,都要調(diào)用 csvWriter.endRecord();

    表示結(jié)束一行

    文件寫完畢后,要記得刷新一下并關(guān)掉,如下:

           csvWriter.flush();

           csvWriter.close();

    代碼如下:

        publicstaticvoid main(String[] args) throws Exception {

           CsvWriter csvWriter = new CsvWriter(new FileWriter("c://test.text"), '#');

           csvWriter.write("name");

           csvWriter.write("company");

           csvWriter.endRecord();

           csvWriter.write("11");

           csvWriter.write("12");

           csvWriter.endRecord();

           csvWriter.write("21");

           csvWriter.write("22");

           csvWriter.flush();

           csvWriter.close();

       }

    }

    運(yùn)行以上程序,可以看到C盤下面創(chuàng)建了一個(gè)文件

    test.text

    內(nèi)容如下:

    name#company

    11#12

    21#22

    posted @ 2008-10-31 14:42 jspark 閱讀(11805) | 評(píng)論 (3)編輯 收藏
    主站蜘蛛池模板: 国产成人精品免费大全| 亚洲精品久久无码av片俺去也| 一级毛片在线播放免费| 国产又大又粗又硬又长免费| 亚洲av中文无码字幕色不卡| 精品国产麻豆免费网站| 亚洲成a∧人片在线观看无码 | 久久免费99精品国产自在现线| 国产精品久久香蕉免费播放| 亚洲av无码专区在线观看下载 | 91亚洲性爱在线视频| 中文字幕免费视频| 亚洲性无码av在线| 一二三四免费观看在线视频中文版 | www一区二区www免费| 中文字幕亚洲天堂| AAA日本高清在线播放免费观看| 亚洲国产AV无码专区亚洲AV| 久久免费国产精品一区二区| 久久夜色精品国产噜噜亚洲AV| 37pao成人国产永久免费视频| 亚洲免费黄色网址| 永久免费视频v片www| 免费人成视频在线观看免费| 国产亚洲AV夜间福利香蕉149| 久久青草91免费观看| 亚洲国产成人久久99精品| 免费观看的毛片手机视频| 日亚毛片免费乱码不卡一区| 亚洲国产第一站精品蜜芽| **一级毛片免费完整视| 亚洲精品动漫免费二区| 亚洲熟女少妇一区二区| 亚洲黄色免费在线观看| 国产亚洲精品仙踪林在线播放| 亚洲精品成人片在线播放| 成年黄网站色大免费全看| 免费看一级高潮毛片| 亚洲婷婷在线视频| 免费v片在线观看品善网| 日本免费一区二区三区四区五六区|