概念:Java語言中數據流是接收和發送數據的管道。流是一位單項的。
流的分類:
按照字節字符:InputStream和OutputStream是字節輸入輸出流的抽象父類。Reader和Writer是字符輸入和輸出流的抽象父類。
按照是直接否從特定的地方(如磁盤,內存、設備)相連分為節點流和處理流
教學I作總教學i作總結、 節點流:可以從一個或者向一個特定的地方(節點)讀寫數據;
處理流:對一個已經存在的流的連接和封裝,通過封裝的流的功能調用實現數據讀寫。處理流的構造總要帶上其他流的對象作為參數。一個流的對象經過其他流的多次包裝,稱為流的鏈接。
1、InputStream
有三個方法訪問其數據:
(1)int read(): 返回一個int值,它是從流中讀取的一個字節,如果遇到文件結束返回-1.
java入門變量與數據類型、(2)int read(byte []):將數據讀到字節數組中,并返回讀到的字節數。
(3)int read(byte [], int offest, int length):將數據讀到字節數組中,并返回讀到的字節數。offest為數組的偏移量。
其它常用的方法:close() available() skip() reset()
?
2、OutputStream
與InputStream相應的方法:write(int) write(byte[]) write(byte[],int,int)
java常見io方式。flash():有時輸入流在積累了若干次之后才真正的進行寫操作,flash可強制進行寫操作。
?
3、Reader
讀取方法:
(1)int read(): 返回一個int值,它是從流中讀取的一個字符,如果遇到文件結束返回-1.
(2)int read(char []):將數據讀到字符數組中,并返回讀到的字符數。
java第三章總結?(3)int read(byte [], int offest, int length):將數據讀到字符組中,并返回讀到的字符數。offest為數組的偏移量。
4、Writer
write(char) write(char[]) write(char[],int,int),write(String,Stirng),write(Stirng,int,int),close(),flash()
?
對象的串行化(序列化)
1、實現接口java.io.Serializable。該接口沒有任何方法,只作為一個標記,用來聲明實現這個接口的類是可序列化的。
如何寫I作總結?2、當一個對象被串行化,只有對象的數據被串行化,方法和構造函數不屬于串行化流。如果一個數據變量是一個對象的引用,那么呢這個對象的數據成員也會被串行化。
節點流:
System.in/.out/.err 的返回值是PrintStream對象
ByteArrayInputStream 流的關閉無效(關閉后仍可使用,在內存中,可自動釋放)
ByteArrayOutputStream 關閉流無效;可使用 toByteArray() 和 toString() 獲取數據。
java主程序怎么寫、方法:writeTo(OutputStream out) 將此 byte 數組輸出流的全部內容寫入到指定的輸出流參數中。
FileInputStream 文件輸入流
FileOutputStream 文件輸出流
處理流:
1、緩沖流,增強功能;BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter
I/O接口。2、轉換流,處理亂碼 {
編碼:字符----編碼字符集--->>二進制
解碼:二進制----解碼字符集--->>字符
亂碼原因:
(1)、編碼與解碼的字符集不同
java中優先級、(2)、字節數組長度不夠
轉換流:字節轉換為字符
輸出流 outputStreamWriter 編碼
輸入流 inputStreamReader 解碼
3、數據輸入及輸出流
教師個人工作總結、DataInputStream、DataOutputStream
1、讀取順序及類型與寫入順序及數據類型必須一致。
writeBytes(str); 字符串對象的第一種寫法
writeChars(str); 字符串對象的第2種寫法
writeUTF(sj11); 字符串對象的第3種寫法,此方法用的較多
java的認識,4、對象
反序列化 輸入流 ObjectIntputStream 方法:readObject()?
序列化 輸出流 ObjectOutputStream 方法:writeObject()
注意:
1、先序列化后反序列化;反序列化順序必須與序列化一致
談談你對java的認識。2、不是所有的對象都可以序列化,transient dataType
5、打印流PrintStream
System.in/out/err 返回值為該類型
調試應用:可將控制臺輸出保存在文件中
?