Java 中的I/O (三)-- MarsChen Java4Android 教程學習筆記


處理流的使用
處理流:BufferedReader ,全稱“字符輸入處理流”,常用readLine() 方法,一次可以讀一行,返回字符串。將FileReader 對象傳入BufferedReader ,執行readLine() 方法就可以執行一行。
fileReader=new FileReader("【地址】");
bufferedReader = new BufferedReader(fileReader);
String line=bufferedReader.readLine();
如果要讀全部文字,可用while 語句,當line==null 的時候跳出。

“裝飾者(Decorator)”模式
如下複雜的繼承模式,需要創建很多重複的函數,此時可以利用裝飾者模式。
Java 中的I/O (三)-- MarsChen Java4Android 教程學習筆記 - Roller44 - 病友說
 

interface Worker{
public void doSomeWork();
}

public class MuJiang implements Worker{
public void doSomeWork(){
System.out.println("修門窗。");
}
}

public class ShuiGuanGong implements Worker{
public void doSomeWork(){
System.out.println("修水管兒。");
}
}

class AWorker implements Worker{
public Worker wk;
public AWorker(Worker wk){
this.wk= wk;
}
public void doSomeWork(){
System.out.println("來自A公司:");
wk.doSomeWork();
}
}

class BWorker implements Worker{
private Worker wk;
public BWorker(Worker wk){
this.wk=wk;
}
public void doSomeWork(){
System.out.println("B公司的:");
wk.doSomeWork();
}
}

public class AskForHelp{
public static void main (String args[]){
MuJiang mj=new MuJiang();
AWorker aw=new AWorker(mj);
aw.doSomeWork();

ShuiGuanGong sgg=new ShuiGuanGong();
BWorker bw=new BWorker(sgg);
bw.doSomeWork();
}
}

Java 中的I/O (三)-- MarsChen Java4Android 教程學習筆記 - Roller44 - 病友說
 

在上面的例子中,MuJiang 和ShuiGuanGong 是被裝飾對象,AWorker 和BWorker 是裝飾對象。在處理流中,BufferedReader 就是裝飾對象,FileReader 是被裝飾對象。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章