欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

千鋒扣丁學(xué)堂Java培訓(xùn)之讀取文本文件內(nèi)容實例代碼

2019-09-03 14:42:12 4570瀏覽

今天千鋒扣丁學(xué)堂Java在線培訓(xùn)老師給大家分享一篇關(guān)于JAVA讀取文本文件內(nèi)容實例代碼的詳細(xì)介紹,希望對同學(xué)們有所幫助,下面我們來看一下其中主要部分源碼!



最終的代碼如下:

public static String readFileContent(String fileName) {
  File file = new File(fileName);
  BufferedReader reader = null;
  StringBuffer sbf = new StringBuffer();
  try {
    reader = new BufferedReader(new FileReader(file));
    String tempStr;
    while ((tempStr = reader.readLine()) != null) {
      sbf.append(tempStr);
    }
    reader.close();
    return sbf.toString();
  } catch (IOException e) {
    e.printStackTrace();
  } finally {
    if (reader != null) {
      try {
        reader.close();
      } catch (IOException e1) {
        e1.printStackTrace();
      }
    }
  }
  return sbf.toString();
}

留個小問題,這種方式只能讀取普通的文本文件,對于二進制之類的文件,是不可以的,那應(yīng)該如何做呢,嗯,等碰到這樣場景的需求再記錄下來吧。

Java一次讀取文本文件所有內(nèi)容

我們做文本處理的時候的最常用的就是讀寫文件了,尤其是讀取文件,不論是什么文件,我都傾向于一次性將文本的原始內(nèi)容直接讀取到內(nèi)存中再做處理,當(dāng)然,這需要你有一臺大內(nèi)存的機器,內(nèi)存不夠者……可以一次讀取少部分內(nèi)容,分多次讀取。

讀取文件效率最快的方法就是一次全讀進來,很多人用readline()之類的方法,可能需要反復(fù)訪問文件,而且每次readline()都會調(diào)用編碼轉(zhuǎn)換,降低了速度,所以,在已知編碼的情況下,按字節(jié)流方式先將文件都讀入內(nèi)存,再一次性編碼轉(zhuǎn)換是最快的方式,典型的代碼如下:

public String readToString(String fileName) { 
    String encoding = "UTF-8"; 
    File file = new File(fileName); 
    Long filelength = file.length(); 
    byte[] filecontent = new byte[filelength.intValue()]; 
    try { 
      FileInputStream in = new FileInputStream(file); 
      in.read(filecontent); 
      in.close(); 
    } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
    } catch (IOException e) { 
      e.printStackTrace(); 
    } 
    try { 
      return new String(filecontent, encoding); 
    } catch (UnsupportedEncodingException e) { 
      System.err.println("The OS does not support " + encoding); 
      e.printStackTrace(); 
      return null; 
    } 
  }

以上就是關(guān)于千鋒扣丁學(xué)堂Java培訓(xùn)之讀取文本文件內(nèi)容實例代碼的全部內(nèi)容,希望本文所述對大家java程序設(shè)計有所幫助,想要學(xué)好Java開發(fā)小編給大家推薦口碑良好的扣丁學(xué)堂,扣丁學(xué)堂有專業(yè)老師制定的Java學(xué)習(xí)路線圖輔助學(xué)員學(xué)習(xí),此外還有與時俱進的Java課程體系和Java視頻教程供大家學(xué)習(xí),想要學(xué)好Java開發(fā)技術(shù)的小伙伴快快行動吧。扣丁學(xué)堂Java技術(shù)交流群:850353792。


                          JavaEE/微服務(wù)/源碼解析/分布式/企業(yè)級架構(gòu)【VIP體驗課】


     【關(guān)注微信公眾號獲取更多學(xué)習(xí)資料】        【掃碼進入JavaEE/微服務(wù)VIP免費公開課】  



查看更多關(guān)于“Java開發(fā)資訊”的相關(guān)文章>>

標(biāo)簽: Java培訓(xùn) Java視頻教程 Java多線程 Java面試題 Java學(xué)習(xí)視頻 springBoot項目

熱門專區(qū)

暫無熱門資訊

課程推薦

微信
微博
15311698296

全國免費咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權(quán)所有   北京市海淀區(qū)寶盛北里西區(qū)28號中關(guān)村智誠科創(chuàng)大廈4層
京ICP備2021002079號-2   Copyright ? 2017 - 2022
返回頂部 返回頂部