亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

day19

2019-11-10 17:13:24
字體:
來源:轉載
供稿:網友

<1 IO流(BufferedWriter)>

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

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

package day19;import com.sun.org.apache.regexp.internal.RE;import java.io.*;/** * 通過緩沖區復制一個.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;  //中轉站(兩種流之間的橋梁)            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("讀取關閉失敗");            }            try {                if(bufw != null)                    bufw.close();            }catch(IOException e){                throw new RuntimeException("寫入關閉失敗");            }        }    }}<04 readLine的原理>

readLine()方法的原理:

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

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

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

<05 自定義MyBufferedReader>

<06 裝飾設計模式/裝飾類>

裝飾類的方式:

構造函數的傳遞,基本功能增強。

package day19;/** * 裝飾設計模式: * 當想要對已有的對象進行功能增強時, * 可以定義類,將已有對象傳入,基于已有的功能,并提供加強功能。 * 那么自定義的類稱為裝飾類 * * 裝飾類通常會通過構造方法接收被裝飾的對象。 * 并基于被裝飾的對象的功能,提供更強的功能。 * 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 裝飾和繼承的區別>(再聽)

裝飾更靈活。

不要繼承太多。

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

要重寫Reader中的抽象方法。

<09 LineNumberReader>

它里面有個屬性LineNumber,報告對應的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();    }}//練習:模擬一個帶行號的緩沖區對象。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人精品在线观看| 欧美午夜片在线免费观看| 在线成人免费网站| 97视频免费在线观看| 中文字幕在线观看日韩| 久久国产精品久久久久| 欧美国产视频日韩| 亚洲三级av在线| 精品香蕉在线观看视频一| 精品国产一区二区三区久久久狼| 亚洲男人天堂古典| 日韩av在线天堂网| 日韩精品欧美国产精品忘忧草| 91精品国产91久久久久久久久| 国语对白做受69| 国外成人在线视频| 日韩一级裸体免费视频| 最好看的2019的中文字幕视频| 亚洲精品欧美日韩专区| 久久久亚洲国产| 在线成人一区二区| 最近的2019中文字幕免费一页| 91久久久久久久一区二区| 久久久噜噜噜久久| 欧美一区二区三区四区在线| 日韩精品中文字幕久久臀| 亚洲电影天堂av| 91av国产在线| 国产精品久久久久久久app| 91系列在线观看| 裸体女人亚洲精品一区| 久久久女女女女999久久| 日韩免费不卡av| 国产成人精品国内自产拍免费看| 日本三级久久久| 欧美成年人网站| 亚洲精品99久久久久中文字幕| 2019日本中文字幕| 日韩亚洲欧美中文高清在线| 久久亚洲春色中文字幕| 日韩动漫免费观看电视剧高清| 亚洲国产一区自拍| 国产精品久久在线观看| 91夜夜未满十八勿入爽爽影院| 国产精品久久久久福利| 亚洲aⅴ日韩av电影在线观看| 国产精品偷伦视频免费观看国产| 日韩av在线看| 国产精品日韩欧美大师| 一区二区三区日韩在线| 91欧美精品午夜性色福利在线| 久久精品一本久久99精品| 欧美激情精品久久久久久蜜臀| 日韩一区二区三区在线播放| 一区二区三区四区视频| 国产精品最新在线观看| 亚洲第一黄色网| 欧美精品性视频| 久久久久国产精品免费| 国产精品久久久av久久久| 国产伦精品一区二区三区精品视频| 91香蕉嫩草神马影院在线观看| www亚洲精品| 亚洲加勒比久久88色综合| 亚洲国产91精品在线观看| 在线观看国产精品91| 尤物九九久久国产精品的分类| 日韩精品福利网站| 国产欧美在线播放| 欧美裸体xxxx极品少妇| 久久影院免费观看| 欧美激情国内偷拍| 欧美成人免费视频| 日韩美女免费线视频| 精品久久久久久久久久| 91精品国产91久久久久久不卡| 视频在线观看一区二区| 高清欧美性猛交| 亚洲精品98久久久久久中文字幕| 国产成人涩涩涩视频在线观看| 福利一区视频在线观看| 欧美在线视频在线播放完整版免费观看| 亚洲天堂一区二区三区| 日韩av中文字幕在线免费观看| 日韩在线免费av| 97在线视频精品| 国产在线日韩在线| 日韩中文字幕av| 日韩欧美国产激情| 中文字幕久热精品在线视频| 国产999精品| 欧美性视频网站| 91欧美精品成人综合在线观看| 在线精品国产欧美| 亚洲黄色免费三级| 激情久久av一区av二区av三区| 国语自产精品视频在线看抢先版图片| 亚洲欧美激情精品一区二区| 精品国产一区二区三区久久| 亚洲黄页视频免费观看| 国产精品丝袜久久久久久高清| 亚洲欧美日韩一区在线| 国产成人在线一区二区| 日韩在线国产精品| 91中文字幕在线观看| 国产精品人成电影在线观看| 亚洲v日韩v综合v精品v| 欧美最猛性xxxxx免费| 欧美影院在线播放| 国产精品揄拍500视频| 日韩av在线导航| 久久人91精品久久久久久不卡| 欧美日韩国产成人| 久久99亚洲热视| 最近免费中文字幕视频2019| 性欧美亚洲xxxx乳在线观看| 日韩综合视频在线观看| 日韩va亚洲va欧洲va国产| 亚洲成人激情在线观看| 亚洲欧美在线免费观看| 伊人久久久久久久久久久久久| 日韩专区中文字幕| 日韩视频免费在线观看| 97超级碰在线看视频免费在线看| 欧美一级大片在线观看| 国内精品免费午夜毛片| 日韩激情第一页| 久久国产精品久久久久| 日韩av综合中文字幕| 91免费电影网站| 欧美日韩成人精品| 亚洲综合精品伊人久久| 欧美亚洲日本黄色| 91精品国产九九九久久久亚洲| 78色国产精品| 日韩激情av在线免费观看| 欧美影院成年免费版| 精品久久久久久久久中文字幕| 亚洲sss综合天堂久久| 98精品国产高清在线xxxx天堂| 欧美精品videofree1080p| 亚洲欧美一区二区精品久久久| 国产成人aa精品一区在线播放| 日本精品va在线观看| 久久久久久久一区二区三区| 国产精品日韩欧美大师| 中文字幕精品www乱入免费视频| 久久精品视频一| 91精品国产99久久久久久| 日韩国产精品亚洲а∨天堂免| 欧美丝袜第一区| 伊人久久大香线蕉av一区二区| 久久国产精品久久久久久久久久| 国产精品香蕉在线观看| 一级做a爰片久久毛片美女图片| 日韩精品视频在线免费观看| 欧美日韩国产丝袜美女| 亚洲免费中文字幕| 97国产真实伦对白精彩视频8| 国产精品成av人在线视午夜片| 日韩精品中文字幕久久臀| 亚洲国产中文字幕在线观看| 久久亚洲一区二区三区四区五区高| 色偷偷av一区二区三区乱|