Java 快速按行讀取文件

起因:Java的IO總是很繁瑣涨享,而且需要你顯式地處理IO拋出的異常缸废,在一般的腳本化處理起來(lái)非常麻煩。每次僅僅是需要一個(gè)需求咱扣,那就是——快速按行讀取文件绽淘,但是總是要查半天!

記錄一下快速的按行讀取文件的代碼闹伪。
我們知道Python什么的很好用:open --> read... read... -> close就好了沪铭,而JAVA很煩。

傳統(tǒng)的

private static void readFile2(File fin) throws IOException {
    // Construct BufferedReader from FileReader
    BufferedReader br = new BufferedReader(new FileReader(fin));
 
    String line = null;
    while ((line = br.readLine()) != null) {
        System.out.println(line);
    }
 
    br.close();
}

try with resource

File file = new File("F:\\dogData\\VCF2Tree\\eGPS_result_ydl20190902\\sample.csv");
try (BufferedReader br = new BufferedReader(new FileReader(file));) {
        String line = null;
        while ((line = br.readLine()) != null) {
            System.out.println(line);
        }

  } catch (IOException e) {
    e.printStackTrace();
}

java8

Charset charset = Charset.forName("US-ASCII");
try (BufferedReader reader = Files.newBufferedReader(file, charset)) {
    String line = null;
    while ((line = reader.readLine()) != null) {
        System.out.println(line);
    }
} catch (IOException x) {
    System.err.format("IOException: %s%n", x);
}

第三方庫(kù)

import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.util.List;

public class ReadTextFile {

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

        try {

            File f = new File("src/com/mkyong/data.txt");

            System.out.println("Reading files using Apache IO:");

            List<String> lines = FileUtils.readLines(f, "UTF-8");

            for (String line : lines) {
                System.out.println(line);
            }

        } catch (IOException e) {
            e.printStackTrace();
        }

    }

}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末偏瓤,一起剝皮案震驚了整個(gè)濱河市伦意,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌硼补,老刑警劉巖驮肉,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異已骇,居然都是意外死亡离钝,警方通過(guò)查閱死者的電腦和手機(jī)票编,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)卵渴,“玉大人慧域,你說(shuō)我怎么就攤上這事±硕粒” “怎么了昔榴?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)碘橘。 經(jīng)常有香客問(wèn)我互订,道長(zhǎng),這世上最難降的妖魔是什么痘拆? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任仰禽,我火速辦了婚禮,結(jié)果婚禮上纺蛆,老公的妹妹穿的比我還像新娘吐葵。我一直安慰自己,他們只是感情好桥氏,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布温峭。 她就那樣靜靜地躺著,像睡著了一般字支。 火紅的嫁衣襯著肌膚如雪诚镰。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天祥款,我揣著相機(jī)與錄音清笨,去河邊找鬼。 笑死刃跛,一個(gè)胖子當(dāng)著我的面吹牛抠艾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播桨昙,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼检号,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了蛙酪?” 一聲冷哼從身側(cè)響起齐苛,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎桂塞,沒(méi)想到半個(gè)月后凹蜂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年玛痊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了汰瘫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡擂煞,死狀恐怖混弥,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情对省,我是刑警寧澤蝗拿,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站蒿涎,受9級(jí)特大地震影響哀托,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜同仆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望裙品。 院中可真熱鬧俗批,春花似錦、人聲如沸市怎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)区匠。三九已至干像,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間驰弄,已是汗流浹背麻汰。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留戚篙,地道東北人五鲫。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像岔擂,于是被迫代替她去往敵國(guó)和親位喂。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • ORA-00001: 違反唯一約束條件 (.) 錯(cuò)誤說(shuō)明:當(dāng)在唯一索引所對(duì)應(yīng)的列上鍵入重復(fù)值時(shí)乱灵,會(huì)觸發(fā)此異常塑崖。 O...
    我想起個(gè)好名字閱讀 5,316評(píng)論 0 9
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 3,811評(píng)論 0 11
  • 初學(xué)Java,一直搞不懂java里面的io關(guān)系痛倚,在網(wǎng)上找了很多大多都是給個(gè)結(jié)構(gòu)圖草草描述也看的不是很懂规婆。而且沒(méi)有結(jié)...
    賭書只道是尋常閱讀 412評(píng)論 1 2
  • IO簡(jiǎn)單概述 IO解決問(wèn)題 : 解決設(shè)備與設(shè)備之間的數(shù)據(jù)傳輸問(wèn)題(硬盤 -> 內(nèi)存 內(nèi)存 -> 硬盤) 讀和寫文...
    奮斗的老王閱讀 3,439評(píng)論 0 53
  • 1、IO流 1.1、概述 之前學(xué)習(xí)的File類它只能操作文件或文件夾聋呢,并不能去操作文件中的數(shù)據(jù)苗踪。真正保存數(shù)據(jù)的是文...
    Villain丶Cc閱讀 2,668評(píng)論 0 5