java--處理流缘挽、轉(zhuǎn)換流

圖片.png

緩沖流
1瞄崇、緩沖流要套接在相應(yīng)的節(jié)點(diǎn)流之上,對讀寫的數(shù)據(jù)提供了緩沖的功能壕曼,提高了讀寫的效率苏研,同時(shí)增加了一些新的方法。
注:因?yàn)樵黾恿隧n緩沖腮郊,可以減少訪問硬盤的次數(shù)摹蘑,從而保護(hù)我們的硬盤。

提供了四種緩沖流轧飞。構(gòu)造方法有:
BufferReader (Reader in)

BufferedReader(Reader in, int size) //size為自定義的緩存區(qū)的大小
BufferedWriter(Writer out)
BufferedWriter(Writer out, int size)
BufferedInputStream(InputStream in)
BufferedInputStream(InputStream in, int size)
BufferedOutputStream(OutputStream out)
BufferedOutputStream(OutputStream out, int size)

緩沖輸入流支持父類的mark和reset方法衅鹿。。
BufferedReader提供了readLine方法用于讀取一行字符串(以\r或\n分隔)
BufferedWriter提供了newLine用于寫入一個(gè)新的行分隔符过咬。
對于輸出的緩沖流大渤,寫出的數(shù)據(jù)會現(xiàn)在內(nèi)存中緩存,使用flush方法將會使內(nèi)存中的數(shù)據(jù)立刻寫出掸绞。

關(guān)于關(guān)閉處理流:
寫了一個(gè)小程序泵三,剛開始節(jié)點(diǎn)流和處理流都沒有關(guān)閉,然后本來要寫入文件的東西一個(gè)都沒有寫入衔掸。
后來寫了只是關(guān)閉節(jié)點(diǎn)流烫幕,然后要寫入文件的東西也是一個(gè)都沒有寫入。
最后只是關(guān)閉處理流敞映,程序達(dá)到預(yù)期運(yùn)行效果纬霞。
然后測試了一下既關(guān)閉節(jié)點(diǎn)流又關(guān)閉處理流,程序報(bào)錯(cuò)


import java.io.*;

public class TestBufferedStream {

    public static void main(String[] args) {
        FileInputStream fis = null;
        BufferedInputStream bis = null;
        FileOutputStream fos = null;
        BufferedOutputStream bos = null;
        try {
            int c;
            fis = new FileInputStream("E:/java.txt");
            fos = new FileOutputStream("e:/java5.txt");
            bos = new BufferedOutputStream( fos );
            bis = new BufferedInputStream( fis );
            for ( int i = 0; i<100 && (c = bis.read()) != -1; i++) {
                //System.out.print((char)c + " ");
                bos.write((char)c);
            }
            //fis.close();
            //fos.close();
            bis.close();
            bos.close();
        }catch (FileNotFoundException e2) {
            e2.printStackTrace();
        }
        catch (IOException e1) {
            e1.printStackTrace();
        }
        File file = new File("E:/java5.txt");
        System.out.println(file.length());
    }

}

參考:http://www.cnblogs.com/byrhuangqiang/p/3924985.html
綜上:使用處理流最簡單的關(guān)閉方式是:
直接關(guān)閉處理流驱显,而不用管與之相關(guān)聯(lián)的節(jié)點(diǎn)流诗芜。
因?yàn)樵訇P(guān)閉處理流時(shí)會調(diào)用節(jié)點(diǎn)流的關(guān)閉函數(shù)瞳抓。

InputStreamReader 把字節(jié)流轉(zhuǎn)換為字符流。
OutputStreamWriter 把字節(jié)流轉(zhuǎn)換為字符流伏恐。
這樣子可以直接寫字符串進(jìn)入文件孩哑。也可以直接讀字符串。

將標(biāo)準(zhǔn)輸入流套接到轉(zhuǎn)換字符輸入流中翠桦,再將轉(zhuǎn)換字符流套接到緩沖流中横蜒。


import java.io.*;

public class TestTranFormReader {

    public static void main(String[] args) {
        InputStreamReader in = new InputStreamReader(System.in);
        BufferedReader bfr =new BufferedReader(in);
        String s = null;
        
        try{
            s = bfr.readLine();
            while (s != null) {
                System.out.println(s);
                s = bfr.readLine();
                if (s.equalsIgnoreCase("exit")) {
                    break;
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市销凑,隨后出現(xiàn)的幾起案子丛晌,更是在濱河造成了極大的恐慌,老刑警劉巖斗幼,帶你破解...
    沈念sama閱讀 222,464評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件澎蛛,死亡現(xiàn)場離奇詭異,居然都是意外死亡蜕窿,警方通過查閱死者的電腦和手機(jī)谋逻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來桐经,“玉大人毁兆,你說我怎么就攤上這事∫跽酰” “怎么了气堕?”我有些...
    開封第一講書人閱讀 169,078評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長畔咧。 經(jīng)常有香客問我茎芭,道長,這世上最難降的妖魔是什么盒卸? 我笑而不...
    開封第一講書人閱讀 59,979評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮次氨,結(jié)果婚禮上蔽介,老公的妹妹穿的比我還像新娘。我一直安慰自己煮寡,他們只是感情好虹蓄,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,001評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著幸撕,像睡著了一般薇组。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上坐儿,一...
    開封第一講書人閱讀 52,584評論 1 312
  • 那天律胀,我揣著相機(jī)與錄音宋光,去河邊找鬼。 笑死炭菌,一個(gè)胖子當(dāng)著我的面吹牛罪佳,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播黑低,決...
    沈念sama閱讀 41,085評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼赘艳,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了克握?” 一聲冷哼從身側(cè)響起蕾管,我...
    開封第一講書人閱讀 40,023評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎菩暗,沒想到半個(gè)月后掰曾,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,555評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡勋眯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,626評論 3 342
  • 正文 我和宋清朗相戀三年婴梧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片客蹋。...
    茶點(diǎn)故事閱讀 40,769評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡塞蹭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出讶坯,到底是詐尸還是另有隱情番电,我是刑警寧澤辆琅,帶...
    沈念sama閱讀 36,439評論 5 351
  • 正文 年R本政府宣布漱办,位于F島的核電站婉烟,受9級特大地震影響娩井,放射性物質(zhì)發(fā)生泄漏似袁。R本人自食惡果不足惜洞辣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,115評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望昙衅。 院中可真熱鬧扬霜,春花似錦而涉、人聲如沸著瓶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,601評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽沸久。三九已至,卻和暖如春华糖,著一層夾襖步出監(jiān)牢的瞬間麦向,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,702評論 1 274
  • 我被黑心中介騙來泰國打工诵竭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人卵慰。 一個(gè)月前我還...
    沈念sama閱讀 49,191評論 3 378
  • 正文 我出身青樓佛呻,卻偏偏與公主長得像裳朋,于是被迫代替她去往敵國和親吓著。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,781評論 2 361

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

  • # Java 流式輸入 輸出原理 # Java 流的分類 # 輸入 輸出 流 類 # 常見的節(jié)點(diǎn)流 和 處理流 #...
    時(shí)待吾閱讀 327評論 0 0
  • 1.流的分類 (1)輸入輸出流輸入輸出是針對程序運(yùn)行的內(nèi)存而言的輸入流的基類:InputStream暖眼,Reader...
    ql2012jz閱讀 582評論 0 3
  • # 3.1 File # ## 3.1.1 File基本概念 ## 1.基本概念 -File類用于表示文件(目錄)...
    閆子揚(yáng)閱讀 471評論 0 0