File:文件操作
RandomAccessFile:隨機讀寫流,文件內容操作
字節流(byte)
OutputStream:抽象類,從程序輸出
換行:\r\n
InputStream
字符流
Writer:輸出流
Reader:輸入流
轉換流
OutputStreamWriter:Writer的子類,將輸出的字符流變爲字節流
InputStreamReader:Reader的子類,將輸入的字節流變爲字符流
內存操作流
ByteArrayInputStream:內容寫入內存
ByteArrayOutputStream:從內存讀出內容
管道流:兩個線程之間的通信,必須把輸出流連在輸入流上
PipedOutputStream:管道輸出流,從線程輸出內容
PipedInputStream:管道輸入流,內容寫入線程
打印流
PrintStream
裝飾設計模式
printf()方法:格式化輸出
System類對IO的支持
System.out:PrintStream的對象
System.err:PrintStream的對象,用來輸出程序錯誤
System.in:鍵盤輸入流,是InputStream類型對象
輸入/輸出重定向
BufferedReader:用於從緩衝區讀取內容
構造方法只能接收字符輸入流的實例
鍵盤輸入數據
Scanner類
數據操作流
DataOutputStream:程序寫入文件
DataInputStream:專門負責讀取使用DataOutputStream輸出的數據
合併流
SequenceInputStream
壓縮流
ZipOutputStream:壓縮文件、文件夾
ZipFile
ZipInputStream
回退流
PushbackInputStream
字符編碼
編碼轉換方法:public byte[] getBytes(String charset)
對象序列化:只有屬性被序列化
必須實現java.io.Serializable接口
ObjectOutputStream:對象輸出流
ObjectInputStream:對象輸入流
Externalizable接口
transient關鍵字:使用Serializable接口實現序列化時,不希望被序列化的屬性,可以用transient進行聲明
序列化一組對象
483