流的分類記憶:
1、方向分類 輸入流 InputStream --> FileInputStream(文件)
輸出流 outputStream ---> FileoutputStream(文件)
2、按照類型分類 字節流 --> 以字節的形式讀取數據(複製文件)多爲XXStream結尾
字符流 --> 以字符讀取數據(文本文件)以write和read
reader-->fileReader-->BufferedReader(fileReader);
BufferedReader = 是一個過濾流;字符緩衝流
new PrintWriter(new BufferedWriter(new FileWriter("XXX")) );
BufferedWriter 緩衝過濾流;
3、按照操作方式
節點流 –》可以直接創建的流叫做節點流;例如FileInputStream FileoutputStream
過濾流 –》可以裝飾節點流,增加相應的功能
//BufferedInputStream(必須傳入一個具體的輸入流);
//BufferedOutputStream (必須傳入一個具體的輸出流流)
過濾流嵌套節點流
BufferedInputStreambis = newBufferedInputStream(new FileInputStream("XXX"));寫類同;
BufferedOutputStreambos = newBufferedOutputStream(new FileOutputStream("XXX"));
dataoutputStream – 數據過濾流:
DataOutputStream dos = new DataOutputStream(new FileOutputStream("XXX"));
dos.writeInt(1111);
DataInputStream dis = new DataInputStream(new FileInputStream("XXX"));
int a = dis.readInt();
//如果希望存儲基本數據類型就使用DataoutputStream 也是過濾流
//從文件讀取基本數據類型使用datainputStream
ObjectOutputStream –》過濾流; ---》必須序列話以後才能把對象寫入對應的文件中
4、轉換流 --->將字節流轉換爲字符流
InputStreamReader (記憶方法 inputStream to reader 把輸入流轉換爲 字符流)
BufferedReader reader= new BufferedReader(new InputStreamReader(System.in));
InputStreamReader把System.in的字節流轉換爲字符流;