大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) Java讀取csv文件的方法

Java讀取csv文件的方法

更新時(shí)間:2022-08-24 10:51:07 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2335次

在 Java 中讀取 CSV 文件有以下四種方式:

1. Java Scanner 類

Java 的 Scanner 類提供了多種讀取 CSV 文件的方法。它提供了一個(gè)構(gòu)造函數(shù),該構(gòu)造函數(shù)生成從指定 CSV 文件掃描的值。此類還以令牌的形式破壞數(shù)據(jù)。

有一個(gè)分隔符模式,默認(rèn)情況下,它匹配空白。然后,使用不同類型的 next() 方法,我們可以轉(zhuǎn)換生成的標(biāo)記。

使用 Scanner 類讀取 CSV 文件的代碼:

導(dǎo)入java。伊奧。* ; <字體>< /字體>
導(dǎo)入java。實(shí)用程序。掃描儀;<字體>< /字體>
公共類CSVReaderDemo {<字體>< /font >
  public static void main ( String [] args )拋出異常{< font >< /font > 
    掃描儀 sc =新掃描儀(新文件(“C:\\Users\\Dell\\Desktop\\csvDemo.csv” ));<字體>< /字體>  
    //解析一個(gè)CSV文件到Scanner類的構(gòu)造函數(shù)中 <font></font>
    sc。使用分隔符(“,” );<字體>< /字體>
    //設(shè)置逗號(hào)作為分隔符模式<font></font>
    while ( sc.hasNext ( )) {<字體>< /font >  
      系統(tǒng)。出來(lái)。打印(sc.next ());<字體>< /字體>
    }<字體>< /font >
    sc。關(guān)閉();<字體>< /字體>
    //關(guān)閉掃描儀 <font></font>
  }<字體>< /font >
}

輸出:

Raju, Dixit 先生, 3603286012, Burdwan
, Joseph, Patil
先生, 4645968519, Hoogly, Andrew, Mukherjee 先生, 9067215139, Burmingham
, Varun, Patel 先生, 2503595381, Sindh
, Michael, Baldwin 先生, 7631068844, Kentucky
Emmanuel, Agarwal 先生, 3538037535, Nice
, Sumeet, Patil 先生, 6871075256, Aukland
, Pranab, Kulkarni 先生, 7982264359, Hubli
, Rajeev, Singh 先生, 3258837884, Patiala
, Sujay, Kapoor 先生, 5127263160, Mumbai

2. Java String.split() 方法

Java 的 String.split() 標(biāo)識(shí)分隔符并將行拆分為標(biāo)記。

這個(gè)方法的語(yǔ)法是:

公共字符串[]拆分(字符串正則表達(dá)式) 

使用 String.split() 方法讀取 CSV 文件的代碼:

導(dǎo)入java。伊奧。* ; <字體>< /字體>
公共類CSVReader {<字體>< /font >
  public static final String delimiter = "," ; <字體>< /字體>
  public static void read ( String csvFile ) {< font >< /font >  
    試試{<字體>< /font > 
      文件文件=新文件(csvFile );<字體>< /字體> 
      FileReader fr = new FileReader (文件);<字體>< /字體> 
      BufferedReader br = new BufferedReader ( fr ) ; <字體>< /字體> 
      字符串行 = " " ; <字體>< /字體>
      字符串[] tempArr; <字體>< /字體>
      while (( line = br.readLine ()) != null ) {< font >< /font >  
        tempArr = 線。拆分(分隔符);<字體>< /字體>
        for ( String tempStr: tempArr ) {<字體>< /font >  
          系統(tǒng)。出來(lái)。打印(tempStr + “” );<字體>< /字體>
        }<字體>< /font >
        系統(tǒng)。出來(lái)。打印();<字體>< /字體>
      }<字體>< /font >
      br。關(guān)閉();<字體>< /字體>
    }<字體>< /font >
    catch ( IOException ioe ) {<字體>< /font > 
      愛荷華州。打印堆棧跟蹤();<字體>< /字體>
    }<字體>< /font >
  }<字體>< /font >
  public static void main ( String [] args ) {< font >< /font >  
    //要讀取的csv文件<font></font>
    字符串 csvFile = "C:\\Users\\Dell\\Desktop\\csvDemo.csv" ; <字體>< /字體>
    CSV 閱讀器。讀取(csvFile );<字體>< /字體>
  }<字體>< /font >
}

輸出:

Raju, Dixit 先生, 3603286012, Burdwan
, Joseph, Patil
先生, 4645968519, Hoogly, Andrew, Mukherjee 先生, 9067215139, Burmingham
, Varun, Patel 先生, 2503595381, Sindh
, Michael, Baldwin 先生, 7631068844, Kentucky
Emmanuel, Agarwal 先生, 3538037535, Nice
, Sumeet, Patil 先生, 6871075256, Aukland
, Pranab, Kulkarni 先生, 7982264359, Hubli
, Rajeev, Singh 先生, 3258837884, Patiala
, Sujay, Kapoor 先生, 5127263160, Mumbai

3.在Java中使用BufferedReader類

導(dǎo)入java。伊奧。緩沖讀取器;<字體>< /字體>
導(dǎo)入java。伊奧。文件閱讀器;<字體>< /字體>
導(dǎo)入java。伊奧。異常;<字體>< /字體>
公共類CSV {<字體>< /font >
  public static void main ( String [] args ) {< font >< /font >  
    字符串行 = "" ; <字體>< /字體>
    字符串 splitBy = "," ; <字體>< /字體>
    試試{<字體>< /font > 
      //將CSV文件解析成BufferedReader類構(gòu)造函數(shù)<font></font>
      BufferedReader br = new BufferedReader ( new FileReader ( "C:\\Users\\Dell\\Desktop\\csvDemo.csv" )) ; <字體>< /字體>  
      while (( line = br.readLine ()) != null )< font >< /font > 
      //返回一個(gè)布爾值 <font></font>
      {<字體>< /font >
        字符串[]員工 = 行。拆分(拆分);<字體>< /字體>
        //使用逗號(hào)作為分隔符 <font></font>
        系統(tǒng)。出來(lái)。println ( "Emp[First Name=" +employee [ 1 ] + ",LastName=" +employee [ 2 ] + ",Contact=" +employee [ 3 ] + ",City=" +employee [ 4 ] + " ]" ) ; <字體>< /字體>
      }<字體>< /font >
    }<字體>< /font >
    catch ( IOException e ) {<字體>< /font > 
      e. 打印堆棧跟蹤();<字體>< /字體>
    }<字體>< /font >
  }<字體>< /font >
}

輸出:

Emp[First Name= Raju, Last Name= Dixit, Contact= 3603286012, City= Burdwan]
Emp[First Name=Joseph, Last Name=Patil, Contact= 4645968519, City= Hoogly]
Emp[First Name=Andrew, Last Name= Mukherjee,聯(lián)系人= 9067215139,城市= Burmingham]
Emp[名字=Varun,姓氏=Patel,聯(lián)系人= 2503595381,城市= Sindh]
Emp[名字=Michael,姓氏=Baldwin,聯(lián)系人= 7631068844,城市= Kentucky]
Emp[First Name=Emmanuel, Last Name=Agarwal, Contact= 3538037535, City= Nice]
Emp[First Name=Sumeet, Last Name=Patil, Contact= 6871075256, City= Aukland]
Emp[First Name=Pranab, Last Name= Kulkarni,聯(lián)系人 = 7982264359,城市 = Hubli]
Emp[名字 = Rajeev,姓氏 = Singh,聯(lián)系人 = 3258837884,城市 = Patiala]
Emp[名字=Sujay,姓氏=Kapoor,聯(lián)系人= 5127263160,城市= Mumbai]

4. 在 Java 中使用 OpenCSV API

OpenCSV API 是第三方 API。此 API 提供標(biāo)準(zhǔn)庫(kù)來(lái)讀取各種版本的 CSV 文件。OpenCSV API 還提供了更好的控制來(lái)處理 CSV 文件。該庫(kù)還可以讀取制表符分隔文件或 TDF 文件格式。

使用 OpenCSV API 讀取 CSV 文件的代碼:

導(dǎo)入java。伊奧。文件閱讀器;<字體>< /字體>
進(jìn)口com。打開.csv CSVReader ; <字體>< /字體>
公共類CSVReaderDemo {<字體>< /font >
  public static void main ( String [] args ) {< font >< /font >  
    CSVReader 閱讀器 = null ; <字體>< /字體>
    試試{<字體>< /font > 
      //將CSV文件解析成CSVReader類構(gòu)造函數(shù)<font></font>
      reader = new CSVReader ( new FileReader ( "C:\\Users\Dell\Desktop\csvDemo.csv" )) ; <字體>< /字體>  
      字符串[]下一行;<字體>< /字體>
      //一次讀取一行 <font></font>
      while (( nextLine = reader.readNext ()) != null ) {< font >< /font >  
        for ( String token: nextLine ) {<字體>< /font >  
          系統(tǒng)。出來(lái)。打印(令牌);<字體>< /字體>
        }<字體>< /font >
        系統(tǒng)。出來(lái)。打印(“\n” );<字體>< /字體>
      }<字體>< /font >
    }<字體>< /font >
    捕獲(異常 e ){<字體>< /font > 
      e. 打印堆棧跟蹤();<字體>< /字體>
    }<字體>< /font >
  }<字體>< /font >
}

輸出:

Mr. Raju Dixit 36??03286012 Burdwan
Mr. Joseph Patil 4645968519 Hoogly
Mr. Andrew Mukherjee 9067215139 Burmingham
Mr. Varun Patel 2503595381 Sindh
Mr. Michael Baldwin 7631068844 Kentucky
Mr. Emmanuel Agarwal 3538037535 Nice
Mr. Sumeet Patil 6871075256 Aukland
Mr. Pranab Kulkarni 7982264359 Hubli
Mr. Rajeev Singh 3258837884 Patiala
Sujay Kapoor 先生 5127263160 孟買

 

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-10-10 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 日韩欧美国产中文 | 日韩精品国产自在欧美 | 久久国产免费观看 | 久久婷婷久久一区二区三区 | 天天操天天插 | 色综合五月激情综合色一区 | 国内精品伊人久久久久7777人 | 一区二区三区免费精品视频 | 国产呦系列呦交 | 国产成人精品视频频 | 亚洲一区二区高清 | 国产女人18一级毛片视频 | 亚洲精品国产成人一区二区 | 夜夜操网站 | www.xxxx欧美| 欧美亚洲国产精品久久久 | 欧美韩日在线 | 日韩免费毛片视频 | 久久免费激情视频 | 伊人久久大香线蕉综合bd高清 | 伊人网综合视频 | 精品一区二区免费视频 | 欧美大片天天免费看视频 | 手机看片欧美日韩 | 色天天综合久久久久综合片 | 午夜宅男免费完整在线观看 | 国产免费私人影院永久免费 | 国产亚洲欧美在线视频 | 欧美一级全部免费视频 | 久久亚洲精品久久久久 | 成人午夜啪啪免费网站 | 亚洲欧洲日本精品 | se婷婷 | 四虎成人在线 | 色婷婷精品大视频在线蜜桃视频 | 欧美成人se01短视频在线看 | 国产精品videossex激情 | 国产精品久草 | 国产a级高清版毛片 | 第一色区 | 亚洲精品国产第一区第二区国 |