2.3 讀寫文本文件

java的文件操作(IO操作)是由一組相關(guān)的Api(接口、抽象類、實(shí)現(xiàn)類)組成的没咙。
本節(jié)我們介紹最常見的文本文件的讀寫操作。

讀取文本文件內(nèi)容

首先我們來看下千劈,如何讀取一個(gè)文本文件中的內(nèi)容祭刚,代碼如下

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class ReadDemo {
    public static void main(String[] args) {
        String fileName = "d:/demo/test.txt";
        BufferedReader reader = null;
        try {
            reader = new BufferedReader(
                    new FileReader(fileName));
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            closeReader(reader);
        }
    }

    private static void closeReader(BufferedReader reader) {
        if (reader != null) {
            try {
                reader.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

讀取本文文件中的內(nèi)容,可以有多種寫法队塘,上面例子是最常見的一種實(shí)現(xiàn)方式袁梗。上面代碼是按照行循環(huán)讀取文件中的內(nèi)容

while ((line = reader.readLine()) != null) {
  System.out.println(line);
}

循環(huán)讀取的每行的內(nèi)容賦值給字符串變量line,然后就可以按照自己的需求處理讀取的內(nèi)容憔古。上面例子只是簡單的打印輸出遮怜。

涉及到文件的操作一定要進(jìn)行異常捕獲,并且需要加finally語句鸿市,在finally中關(guān)閉打開的文件句柄锯梁。

寫入文本文件

下面的例子我們將一些字符串內(nèi)容寫入到文本文件中。代碼如:

import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class WriteDemo {
    public static void main(String[] args) {
        String fileName="d:/demo/test.txt";
        List<String> data = new ArrayList<>();
        data.add("hello1");
        data.add("hello2");
        BufferedWriter writer = null;
        try {
            writer = new BufferedWriter(new FileWriter(fileName) );
            for(String item:data) {
                writer.write(item); //寫入數(shù)據(jù)
                writer.newLine(); //換行
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }finally{
            closeWriter(writer);
        }
    }

    private static void closeWriter(BufferedWriter writer) {
        if(writer!=null){
            try {
                writer.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

可以看出焰情,寫入文本文件和讀取文本文件的過程很類似陌凳。使用到一系列的APi, 重點(diǎn)是調(diào)用 write方法寫入數(shù)據(jù)内舟,write寫入不會自動換行合敦,如果要換行,需要調(diào)用newLine方法验游。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末充岛,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子耕蝉,更是在濱河造成了極大的恐慌崔梗,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,888評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件垒在,死亡現(xiàn)場離奇詭異蒜魄,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評論 3 399
  • 文/潘曉璐 我一進(jìn)店門谈为,熙熙樓的掌柜王于貴愁眉苦臉地迎上來旅挤,“玉大人,你說我怎么就攤上這事峦阁∏澹” “怎么了耘成?”我有些...
    開封第一講書人閱讀 168,386評論 0 360
  • 文/不壞的土叔 我叫張陵榔昔,是天一觀的道長。 經(jīng)常有香客問我瘪菌,道長撒会,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,726評論 1 297
  • 正文 為了忘掉前任师妙,我火速辦了婚禮诵肛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘默穴。我一直安慰自己怔檩,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,729評論 6 397
  • 文/花漫 我一把揭開白布蓄诽。 她就那樣靜靜地躺著薛训,像睡著了一般。 火紅的嫁衣襯著肌膚如雪仑氛。 梳的紋絲不亂的頭發(fā)上乙埃,一...
    開封第一講書人閱讀 52,337評論 1 310
  • 那天,我揣著相機(jī)與錄音锯岖,去河邊找鬼介袜。 笑死,一個(gè)胖子當(dāng)著我的面吹牛出吹,可吹牛的內(nèi)容都是我干的遇伞。 我是一名探鬼主播,決...
    沈念sama閱讀 40,902評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼捶牢,長吁一口氣:“原來是場噩夢啊……” “哼鸠珠!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起叫确,我...
    開封第一講書人閱讀 39,807評論 0 276
  • 序言:老撾萬榮一對情侶失蹤跳芳,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后竹勉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體飞盆,經(jīng)...
    沈念sama閱讀 46,349評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,439評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了吓歇。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片孽水。...
    茶點(diǎn)故事閱讀 40,567評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖城看,靈堂內(nèi)的尸體忽然破棺而出女气,到底是詐尸還是另有隱情,我是刑警寧澤测柠,帶...
    沈念sama閱讀 36,242評論 5 350
  • 正文 年R本政府宣布炼鞠,位于F島的核電站,受9級特大地震影響轰胁,放射性物質(zhì)發(fā)生泄漏谒主。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,933評論 3 334
  • 文/蒙蒙 一赃阀、第九天 我趴在偏房一處隱蔽的房頂上張望霎肯。 院中可真熱鬧,春花似錦榛斯、人聲如沸观游。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽懂缕。三九已至,卻和暖如春意述,著一層夾襖步出監(jiān)牢的瞬間提佣,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評論 1 272
  • 我被黑心中介騙來泰國打工荤崇, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留拌屏,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,995評論 3 377
  • 正文 我出身青樓术荤,卻偏偏與公主長得像倚喂,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子瓣戚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,585評論 2 359

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理端圈,服務(wù)發(fā)現(xiàn),斷路器子库,智...
    卡卡羅2017閱讀 134,702評論 18 139
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,175評論 2 33
  • 廣義上的二進(jìn)制文件包括文本文件舱权,這里討論的是狹義上的二進(jìn)制文件與文本文件的比較: 1. 能存儲的數(shù)據(jù)類型不同 文本...
    時(shí)待吾閱讀 11,771評論 2 28
  • 微信中不知不覺已有了2000多個(gè)好友,手機(jī)的內(nèi)存也越來越不足仑嗅,而隨著好友的增多宴倍,不免有許多的朋友就在睡眠张症,也在不知...
    dbcc8b4dd97c閱讀 315評論 0 0
  • 出入學(xué)校,步入職場鸵贬,意味著所有的事情都要自己去面對俗他,很多大學(xué)生都還沒有進(jìn)入角色,抱怨職場潛規(guī)則阔逼,抱怨沒有展示自己的...
    囊中智慧閱讀 844評論 0 1