java中的6种stream
1、文件字節流:InputStream 和 OutputStream,它的子類是FileInputStream和FileOutputStream。
2、文件字符流:Reader 和 Writer,它的子類是 FileReader 和 FileWriter。
3、緩沖流:BufferReader類創建的對象稱為緩沖輸入流,該輸入流的指向必須是一個Reader流,稱為BufferReader的底層流,底層流負責將數據讀入到緩沖區,BufferReader流的源就是這個緩沖區,緩沖輸入流再從緩沖區讀取數據;同樣的BufferWriter類創建的對象稱為緩沖輸出流,該輸入流的指向必須是一個Writer流,稱為BufferWriter的底層流,BufferWriter流負責將數據寫入到緩沖區,底層流的源就是這個緩沖區,底層流再從緩沖區寫入數據到目的地。
4、數據流:DataInputStream和DataOutputStream創建的對象稱為數據輸入流和數據輸出流。
5、對象流:ObjectInputStream和ObjectOutputStream分別是InputStream和OutputStream的子類。ObjectInputStream和ObjectOutputStream創建的對象稱為對象輸入流和對象輸出流,對象輸出流使用WriteObject(Object object)方法將一個對象Obj寫入輸出流送往目的地,對象輸入流則使用ReadObject(Object object)方法從源中讀取一個對象到程序中。當使用對象流寫入或讀取對象時,要保證對象時序列化的,這是為了保證能把對象寫入到文件,并且從文件中正確讀取到程序中。一個類如果實現了Serializable接口,那么這個類創建的對象就是序列化的對象,Serializable接口中的方法對程序是不可見的,因此實現該接口的類不需要實現額外的方法,當把一個序列化的對象寫入到對象輸出流時,JVM會自動的實現Serizlizable接口中的方法,按照一定格式的文本將對象寫入到目的地。
總結
以上是生活随笔為你收集整理的java中的6种stream的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DET曲线(检测误差权衡曲线)
- 下一篇: phpBB的主要功能是什么