FilterOutputStream

FilterOutputStream

putStream,DataIn putStream處理。 OutputStream

目錄

正文


FilterOutputStream的其中一類是DataInputStream,DataInputStream的另一半是DataOutputStream。它的任務是把primitive數據和String對象重新組織成流,這樣其它機器就能用DataInputStream讀取這個流了。DataOutputStream的方法都是以"write"開頭的,比如writeByte( ),writeFloat( )等等。
PrintStream的用意是要以一種大家都能看懂的方式把primitive數據和String對象列印出來。這一點同DataOutputStream不同,後者是要將數據裝入一個流,然後再交給 DataInputStream處理。
PrintStream的兩個最重要的方法是print( )和println( )。這兩個方法都已經作了重載,因此可以列印各種數據。print( )和println( )的區別在於,後者會多列印一個換行符
使用PrintStream的時候會比較麻煩,因為它會捕捉所有的IOException(所以你必須直接調用checkError( )來檢查錯誤條件,因為這個方法會在碰到問題的時候返回true)。再加上,PrintStream的國際化做得也不好,而且還不能以與平台無關的方式處理換行(這些問題都已經在printwriter里得到解決,我們接下來再講)。
BufferedOutputStream 是個decorator,它表示對流作緩衝,這樣每次往流里寫東西的時候它就不會再每次都作物理操作了。輸出的時候大致都要這麼做。
FilterOutputStream的種類
功能構造函數的參數
用法
DataOutputStream與DataInputStream配合使用,這樣你就可以用一種"可攜帶的方式(portable fashion)"往流里寫primitive了(int, char, long,等)OutputStream
包括寫入primitive數據的全套介面。
PrintStream負責生成帶格式的輸出(formatted output)。DataOutputStrem負責數據的存儲,而PrintStream負責數據的顯示。一個OutputStream以及一個可選的boolean值。這個boolean值表示,要不要清空換行符後面的緩衝區。
應該是OutputStream對象的最終包覆層。用的機會很多。
BufferedOutputStream用 這個類解決"每次往流里寫數據,都要進行物理操作"的問題。也就是說"用緩衝區"。用flush( )清空緩衝區。OutputStream,以及一個可選的緩衝區大小
本身並不提供介面,只是加了一個緩衝區。需要鏈接一個有介面的對象。