Java中IO流的分類及應用


=======I/O==========================================================================

File:代表了磁盤上的文件或者目錄

I/O:jvm和外部數據源的數據交換。File,db—in-àjvm---out-àfile,db

流一共有三種分類:

方向分:輸入流和輸出流;

單位分:字節流和字符流;

      字節流:

           InputStream/OutputStream 字節流的父接口

(1)FileInputStream/FileOutputStream  文件字節流     ((可以向下轉換))

           DataInputStream/DataOutputStream  讀寫8種基本類型和以UTF-8讀寫String

           BufferedInputStream/BufferedOutputStream  帶緩沖的輸入/出流

           PrintStream 融合Data和Buffered,  System.out所屬的類

           Piped 管道 用於線程間交換數據

           RandomAccessFile 隨機訪問文件

      字符流:處理字符編碼問題

           Reader/Writer 字符流的父接口

           FileReader/FileWriter 文件字符流,和FileInputStream/FileOutputStream  文件流,

((可以向下轉換)) 與上面的(1)是相等,

           只不過一個是字節流,下面是字符流,所以兩個無法相傳

InputStreamReader/OutputStreamWriter 橋轉換 將字節流轉成字符流 在橋轉換的過程中,可以制定編解碼方式

           BufferedReader/PrintWriter  有緩沖

      字符流轉換為字節流時,指定編解碼方式是在橋轉換時指定的。

功能分:節點流和過濾流;

      節點流:用於傳輸數據。

      過濾流:幫助節點流更好的傳輸數據。

      piped(管道節點流):用於兩個線程間傳輸數據。一個線程的輸出,是另一個線程的輸入。

對象序列化:

      把對象放在流上傳輸ObjectInputStream/ObjectOutputStream

      只有實現了Serializable接口的對象才能序列化

用transient修飾的屬性,為臨時屬性,不參與序列化,只能修飾對象的屬性。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM