1. 程式人生 > >Java流之物件流

Java流之物件流

物件流

物件流屬於高階流,通過這組流可以方便的讀寫java中的任何物件.
物件輸出流:用於寫出物件,由於底層讀寫都是位元組讀寫,所以無論什麼樣的資料都要轉換為位元組才能寫出.物件輸出流可以自行將給定的物件轉換為一組位元組然後寫出.這樣可以省去我們將物件按照結構轉化為位元組的麻煩.
ObjectOutputStream提供了寫物件的方法: voidwriteObject(Object obj)
該方法會將給定的物件轉換為一組位元組然後通過其處理的流寫出
先通過OOS將物件轉換為一組位元組,然後再將該組位元組通過FOS
寫入到了檔案當中,這裡涉及到兩個操作:
1:物件序列化.將一個物件按照結構轉換為一組位元組的過程
2:物件持久化.將該物件寫入檔案(硬碟中)的過程.

物件輸入流:用於進行物件反序列化
ObjectInputStream提供方法:Object readObject()
該方法可以讀取位元組並還原為指定的物件 需要確保OIS讀取的位元組是通過物件輸出流(OOS) 將一個物件寫出的位元組.否則會丟擲異常.

相關推薦

Java物件

物件流 物件流屬於高階流,通過這組流可以方便的讀寫java中的任何物件. 物件輸出流:用於寫出物件,由於底層讀寫都是位元組讀寫,所以無論什麼樣的資料都要轉換為位元組才能寫出.物件輸出流可以自行將給定的物件轉換為一組位元組然後寫出.這樣可以省去我

Java淺談物件ObjectInputStream和ObjectOutputStream

    我們知道Java中對檔案操作有6種流:              1 檔案位元組流:這是InputStream和OutputStream的子類 eg: FileInputStream  FileOutputStream              2 檔案字元流  

Java筆記-I/O物件序列化

物件序列化流 物件序列化流基本介紹 使用工具:ObjectOutputStream,ObjectInputStream 介紹:將物件以檔案的形式儲存在硬碟中,使之能更方便的傳輸。 條件:必須實現Serializable介面(實現了這個介面,但

JavaIO進階篇:記憶體,列印物件

Java中的IO流,即為輸入輸出流。所謂輸入輸出流,都是相對於程式而言,程式就是這個參照物。一張圖看懂輸入輸出流:     輸入流抽象基類:InputStream,Reader   輸出流抽象基類:OutputStream,Writer   輸入輸出流子類眾多,詳情見下圖:    1.記

好程式設計師Java學習路線Java中的物件和序列化

好程式設計師Java學習路線之Java中的物件流和序列化,最近,在講流的使用,其中物件流的作用其實就是將自定義類的物件與流之間相互

Java基礎IO類物件與序列化

物件流的兩個類:   ObjectOutputStream:將Java物件的基本資料型別和圖形寫入OutputStream   ObjectInputStream:對以前使用ObjectOutputStream寫入的基本資料和物件進行反序列化 序列化一組物件:   在系列化操作中,同時序列化多個物件時,反序列

Java-IO轉換的使用和編碼與解碼原理

鍵盤輸入 tostring delet 特點 rgb utf8 equals pri 數據 一、理論: 1、字符流和字節流區別是什麽? 字符流=字節流+編碼集,在實際讀取的時候其實字符流還是按照字節來讀取,但是會更具編碼集進行查找編碼集字典解析相應的字節,使得一次讀取出一個

Java學習IO

今天 bit string轉換 tin path 編碼表 父類 二進制 指定編碼 轉載鏈接:https://blog.csdn.net/zhaoyanjun6/article/details/54292148 Java流類圖結構: 流的概念和作用 流是一組有順序的,有起點

java基礎IO(一)

目標 構造方法 play pub io流 ted ima str 有一個 java基礎之IO流(一)之字節流   IO流體系太大,涉及到的各種流對象,我覺得很有必要總結一下。   那什麽是IO流,IO代表Input、Output,而流就是原始數據源與目標媒介的數據傳輸的一種

21 Java學習位元組(InputStream和OutPutStream)

  一.流的分類   1、從功能上:輸入流、輸出流 2、從結構上:位元組流、字元流 3、從來源上:節點流、過濾流   其中InputStream/OutputStream是為位元組流而設計的,Reader/Writer是為字元流而設計的。處理位元組或者二進位制物件使用位元組

22 Java學習字元(Reader和Writer)

  Java中的流是個抽象的概念,當程式需要從某個資料來源讀入資料的時候,就會開啟一個數據流,資料來源可以是檔案、記憶體或網路等等。相反地,需要寫出資料到某個資料來源目的地的時候,也會開啟一個數據流,這個資料來源目的地也可以是檔案、記憶體或網路等等 一. 字元流的引入 正如位元組流中所

Java IO字元

1.字元輸出流 Writer(只能寫入文字檔案) 1.1FileWriter類(writer的子類) 構造方法: public class FileWriterDemo { public static void main(String[] args) throws IOE

Java 8數值使用和構建的方式

數值流: 數值流,顧名思義就是專門用來操作基礎資料型別的流,那它的作用是什麼呢?先看下面的程式碼。這段程式碼是獲取集合每個物件的num欄位的值,然後求所和。得出的結果是15,看上去沒有問題,但是要注意的是流在進行求和操作的時候從物件中取出來的是基本型別,會進行裝箱操

java day22 IO 序列物件,資料,列印

22.01_IO流(序列流)(瞭解) 1.什麼是序列流 序列流可以把多個位元組輸入流整合成一個, 從序列流中讀取資料時, 將從被整合的第一個流開始讀, 讀完一個之後繼續讀第二個, 以此類推. 2.使用方式 整合兩個:

JAVA的IO緩衝

JAVA緩衝流本身不具IO功能,只是在別的流上加上緩衝提高效率,像是為別的流裝上一種包裝。當對檔案或其他目標頻繁讀寫或操作效率低,效能差。這時使用緩衝流能夠更高效的讀寫資訊。因為緩衝流先將資料快取起來,然後一起寫入或讀取出來。所以說,緩衝流還是很重要的,在IO操

Java基礎IO小結

      Java程式中對於資料的輸入和輸出操作是以流的方式進行的。一個流可以被定義為一個數據序列。我們可以理解為:流是用來讀寫資料的。Java語言提供的java.io包可以很方便的讓我們對資料進行輸入和輸出操作。本文將和大家分享學習Java IO流的相關基礎知識。 一、

Java學習筆記--------IO字元實現純文字拷貝

字元流 輸入流:Reader,FileReader 輸出流:Writer,FileWriter 字元流只能處理純文字,全部為可見字元(.txt或者.html)。下面實現純文字的拷貝: public class CopyFileDemo { public sta

Java學習筆記--------IO緩衝

緩衝流 位元組緩衝流:BufferedInputStream,BufferedOutputStream 字元緩衝流:BufferedReader,readLine(),BufferedWriter,newLine() 我們實現位元組流檔案拷貝+緩衝流,提高效能: pu

Java IO7:管道物件

前言        前面的文章主要講了檔案字元輸入流FileWriter、檔案字元輸出流FileReader、檔案位元組輸出流FileOutputStream、檔案位元組輸入流FileInputStream,這些都是常見的流類。當然除了這些流類之外,Jav

系統學習 Java IO (十二)----資料物件 DataInputStream/DataOutputStream & ObjectInputStream/ObjectOutputStream

DataInputStream/DataOutputStream 允許應用程式以與機器無關方式從底層輸入流中讀取基本 Java 資料型別。 要想使用資料輸出流和輸入流,必須按指定的格式儲存資料,才可以將資料輸入流將資料讀取進來,所以通常使用 DataInputStream 來讀取 DataOutputStr