日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

IO流以及他们的种类区别 序列化反序列化 如何实现

發布時間:2025/3/19 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IO流以及他们的种类区别 序列化反序列化 如何实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java 中有幾種類型的流

  • 按照流的方向:輸入流(inputStream)和輸出流(outputStream)。
  • 按照實現功能分:節點流(可以從或向一個特定的地方(節點)讀寫數據。如
    FileReader)和處理流(是對一個已存在的流的連接和封裝,通過所封裝的流的功能調用實現數據讀寫。如
    BufferedReader。處理流的構造方法總是要帶一個其他的流對象做參數。一個流對象經過其他流的多次包裝,稱為流的鏈接。)
  • 按照處理數據的單位:字節流和字符流。字節流繼承于 InputStream 和 OutputStream,字符流繼承于
    InputStreamReader 和 OutputStreamWriter。

  • 字節流如何轉為字符流

    字節輸入流轉字符輸入流通過 InputStreamReader 實現,該類的構造函數可以傳入 InputStream 對象。
    字節輸出流轉字符輸出流通過 OutputStreamWriter 實現,該類的構造函數可以傳入 OutputStream 對象。

    字節流和字符流的區別

    • 字節流讀取的時候,讀到一個字節就返回一個字節; 字符流使用了字節流讀到一個或多個字節(中文對應的字節數是兩個,在 UTF-8 碼表中是 3個字節)時。先去查指定的編碼表,將查到的字符返回。 字節流可以處理所有類型數據,如:圖片,MP3,AVI 視頻文件,而字符流只能處理字符數據。只要是處理純文本數據,就要優先考慮使用字符流,除此之外都用字節流。字節流主要是操作 byte 類型數據,以 byte 數組為準,主要操作類就是 OutputStream、InputStream。
    • 字符流處理的單元為 2 個字節的 Unicode 字符,分別操作字符、字符數組或字符串,而字節流處理單元為 1 個字節,操作字節和字節數組。所以字符流是由 Java 虛擬機將字節轉化為 2 個字節的 Unicode 字符為單位的字符而成的,所以它對多國語言支持性比較好!如果是音頻文件、圖片、歌曲,就用字節流好點,如果是關系到中文(文本)的,用字符流好點。在程序中一個字符等于兩個字節,java 提供了 Reader、Writer 兩個專門操作字符流的類。

    什么是序列化

    序列化就是一種處理對象流的一種機制
    所謂對象流,就是將對象的內容進行流化處理,可以對流化后的內容進行讀寫操作,或者是用于傳輸在網絡之間
    實際過程就是將java對象轉換為字節序列的過程,

    反序列化就是將字節序列恢復成java對象的過程

    如何實現序列化

    要想實現序列化,那么該類必須要實現Serializable接口,不過該接口沒有需要實現的方法,也就是該接口中沒有抽象方法,它只不過是起到了一種標記的作用,標記該類需要被序列化,然后用輸出流來構造一個ObjectOutputStream對象,然后使用該對象的writeObject方法,就可以將作為參數的對象寫出,反之,要恢復的話就用輸入流

    總結

    以上是生活随笔為你收集整理的IO流以及他们的种类区别 序列化反序列化 如何实现的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。