麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

day19

2019-11-10 19:23:34
字體:
供稿:網(wǎng)友

<1 IO流(BufferedWriter)>

package day19;import java.io.BufferedWriter;import java.io.FileWriter;import java.io.IOException;/** * 緩沖區(qū) 出現(xiàn)時為了提高流的操作效率而出現(xiàn)的 * 所以在創(chuàng)建緩沖區(qū)之前,必須要先有流對象 *  * 該緩沖區(qū)中提供了一個跨平臺的換行符:newLine() * 注意:像這樣的方法,都是只有 緩沖區(qū)對象才有的。所以一定要先有緩沖區(qū)對象。 * Created by Administrator on 2017/2/8. */public class BufferedWriterDemo {    public static void main(String[] args) throws IOException {        //創(chuàng)建一個字符寫入流對象。        FileWriter fw = new FileWriter("buf.txt");        //為了提高字符寫入流效率,加入了緩沖技術(shù).        //只要將需要被提高效率的流對象作為參數(shù)傳遞給緩沖區(qū)的構(gòu)造函數(shù)即可.        BufferedWriter bufw = new BufferedWriter(fw);        for(int x = 1; x < 5; x++){            bufw.write("abcd" + x);            bufw.newLine();            bufw.flush();        }        //記住,只要用到緩沖區(qū),就要記得刷新。        bufw.flush();        //其實關(guān)閉緩沖區(qū),就是在關(guān)閉緩沖區(qū)中的流對象        bufw.close();    }}<02 IO流(BufferedReader)>

package day19;import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;/** * 字符讀取流緩沖區(qū) * * 一行一行的讀,是最方便的 * * 該緩沖區(qū)提供了一個一次讀一行的方法readLine(),方便于對文本數(shù)據(jù)的讀取。 * 當(dāng)返回null時,表示讀到文件末尾。 * * readLine方法返回的時候只返回回車符之前的數(shù)據(jù)內(nèi)容。并不返回回車符。 * Created by Administrator on 2017/2/8. */public class BufferedReaderDemo {    public static void main(String[] args) throws IOException {        //創(chuàng)建一個讀取流對象和文件相關(guān)聯(lián)        FileReader fr = new FileReader("buf.txt");        //為了提高效率,加入緩沖技術(shù),將字節(jié)讀取流對象作為參數(shù)傳遞給緩沖對象的構(gòu)造函數(shù)        BufferedReader bufr = new BufferedReader(fr);//        String s1 = bufr.readLine();   //一行一行的讀//        System.out.PRintln(s1);        //循環(huán)讀        String line = null;        while((line = bufr.readLine()) != null){            System.out.println(line);        }    }}<03 IO流(通過緩沖區(qū)復(fù)制文本文件)>

package day19;import com.sun.org.apache.regexp.internal.RE;import java.io.*;/** * 通過緩沖區(qū)復(fù)制一個.java文件. * Created by Administrator on 2017/2/8. */public class CopyTestByBuf {    public static void main(String[] args){        BufferedReader bufr = null;        BufferedWriter bufw = null;        try {            bufr = new BufferedReader(new FileReader("D://code//javacode//src//day19//BufferedWriterDemo.java"));            bufw = new BufferedWriter(new FileWriter("bufWriter_Copy.txt"));            String line = null;  //中轉(zhuǎn)站(兩種流之間的橋梁)            while((line = bufr.readLine()) != null){                bufw.write(line);                bufw.newLine();                bufw.flush();            }        } catch (IOException e) {            throw new RuntimeException("讀寫失敗");        }finally {            try {                if(bufr != null)                    bufr.close();            } catch (IOException e) {                    throw new RuntimeException("讀取關(guān)閉失敗");            }            try {                if(bufw != null)                    bufw.close();            }catch(IOException e){                throw new RuntimeException("寫入關(guān)閉失敗");            }        }    }}<04 readLine的原理>

readLine()方法的原理:

無論是讀一行,還是讀取多個字符。其實最終都是從硬盤上一個一個的讀取。

所以最終使用的還是read()方法來一個一個的讀。

只要遇到回車符/n,就表示前面的數(shù)據(jù)是一行。于是會把前面的數(shù)據(jù)一次性的輸出。 (而read()是讀一個 返回一個)

<05 自定義MyBufferedReader>

<06 裝飾設(shè)計模式/裝飾類>

裝飾類的方式:

構(gòu)造函數(shù)的傳遞,基本功能增強。

package day19;/** * 裝飾設(shè)計模式: * 當(dāng)想要對已有的對象進行功能增強時, * 可以定義類,將已有對象傳入,基于已有的功能,并提供加強功能。 * 那么自定義的類稱為裝飾類 * * 裝飾類通常會通過構(gòu)造方法接收被裝飾的對象。 * 并基于被裝飾的對象的功能,提供更強的功能。 * Created by Administrator on 2017/2/9. */class Person{    public void chifan(){        System.out.println("吃飯");    }}class SuperPerson{    private Person p ;    SuperPerson(Person p){        this.p = p;    }    public void superChifan(){        System.out.println("開胃菜");        p.chifan();        System.out.println("甜點");        System.out.println("來一根");    }}public class PersonDemo {    public static void main(String[] args){        Person p = new Person();        p.chifan();    }}<07 裝飾和繼承的區(qū)別>(再聽)

裝飾更靈活。

不要繼承太多。

/*MyReader//專門用于讀取數(shù)據(jù)的類。	|--MyTextReader		|--MyBufferTextReader	|--MyMediaReader		|--MyBufferMediaReader	|--MyDataReader		|--MyBufferDataReaderclass MyBufferReader{	MyBufferReader(MyTextReader text)	{}	MyBufferReader(MyMediaReader media)	{}}上面這個類擴展性很差。找到其參數(shù)的共同類型。通過多態(tài)的形式。可以提高擴展性。class MyBufferReader extends MyReader{	private MyReader r;	MyBufferReader(MyReader r)	{}}	MyReader//專門用于讀取數(shù)據(jù)的類。	|--MyTextReader	|--MyMediaReader	|--MyDataReader	|--MyBufferReader以前是通過繼承將每一個子類都具備緩沖功能。那么繼承體系會復(fù)雜,并不利于擴展。現(xiàn)在優(yōu)化思想。單獨描述一下緩沖內(nèi)容。將需要被緩沖的對象。傳遞進來。也就是,誰需要被緩沖,誰就作為參數(shù)傳遞給緩沖區(qū)。這樣繼承體系就變得很簡單。優(yōu)化了體系結(jié)構(gòu)。裝飾模式比繼承要靈活。避免了繼承體系臃腫。而且降低了類于類之間的關(guān)系。裝飾類因為增強已有對象,具備的功能和已有的是相同的,只不過提供了更強功能。所以裝飾類和被裝飾類通常是都屬于一個體系中的。*/class  {	public static void main(String[] args) 	{		System.out.println("Hello World!");	}}<08 自定義裝飾類>

要重寫Reader中的抽象方法。

<09 LineNumberReader>

它里面有個屬性LineNumber,報告對應(yīng)的get和set方法:getLineNumber()、setLineNumber()

package day19;import java.io.*;/** * Created by Administrator on 2017/2/9. */public class LineNumberReader {    public static void main(String[] args) throws IOException {        FileReader fr = new FileReader("D://code//javacode//src//day19//PersonDemo.java");        java.io.LineNumberReader lnr = new java.io.LineNumberReader(fr);        String line = null;        lnr.setLineNumber(100);        while((line = lnr.readLine()) != null){            System.out.println(lnr.getLineNumber() + ": " + line);        }        lnr.close();    }}//練習(xí):模擬一個帶行號的緩沖區(qū)對象。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 91精品国产综合久久久动漫日韩 | 国产精品久久久久久久久粉嫩 | 午夜国产在线观看 | 国产盼盼私拍福利视频99 | 久久久一区二区三区视频 | 精品国产乱码久久久久久久久 | 欧美高清一级片 | aa国产视频一区二区 | 国产精品刺激对白麻豆99 | 综合精品久久 | 高清做爰免费无遮网站挡 | 青青草最新网址 | 天天躁狠狠躁夜躁2020挡不住 | 色玖玖综合 | 免费av网站观看 | 国产精品视频成人 | 久久精品a一级国产免视看成人 | 日本高清无遮挡 | 成人宗合网 | 色吧综合网 | 久久久99精品视频 | 色欧美视频 | 国产精选久久久 | 国产黄色一级大片 | 91 成人 | 久久久久久麻豆 | 日韩一级片一区二区三区 | 91中文在线 | 欧美日韩中文字幕在线 | 一区二区三区欧美在线 | h色视频在线观看 | 国产九色91 | 亚洲视频在线免费看 | 媚药按摩痉挛w中文字幕 | 日本一级黄色大片 | 精品一区二区三区中文字幕老牛 | 精品一区二区三区免费毛片 | 久久久久久久一区二区 | 91av日韩| 欧美一级片免费在线观看 | 亚洲成人伊人 |