华南俳烁实业有限公司

考試首頁 | 考試用書 | 培訓(xùn)課程 | 模擬考場 | 考試論壇  
全國  |             |          |          |          |          |         
  當(dāng)前位置:計算機等級 > 二級考試 > Java語言程序設(shè)計 > 考試輔導(dǎo) > 文章內(nèi)容
  

全國計算機等級考試二級Java重點內(nèi)容(4)

中華IT學(xué)院   【 】  [ 2016年9月17日 ]

  基本類型的序列化 writeInt()  readInt()

  照片的序列化  ImageIO.read()  ImageIO.write()

  1 字符串的序列化 編碼問題

    println()

    readLine()

  2 對象的序列化

    readObject()

    writeObject()

  常見文本文件讀取方式

  對象的序列化

  流的總結(jié)

  廣義上: 數(shù)據(jù)轉(zhuǎn)換為byte 序列 都是序列化

  int long 可以序列化 -> 拆分

  String   可以序列化 --> 編碼

  Image    可以序列化(.png) -> 圖片的壓縮格式

  對象(屬性)可以序列化 對象編碼為 byte 序列

7 什么是對象的序列化: 將Object轉(zhuǎn)換為byte序列,就是序列化,反之叫反序列化

  為什么要序列化: 為了在byte流中存儲對象

 如何序列化: 使用writeObject(Object)/readObject()

 1) 序列化流, 是過濾流

    ObjectOutputStream writeObject(Object) 序列化對象

    ObjectInputStream readObject() 對象的反序列化

 2) 序列化接口: 對象必須實現(xiàn)"序列化接口"才能進行 "序列化"

   否則出現(xiàn)不能序列化的異常!

 3) JavaBean 規(guī)范, 必須實現(xiàn)Serializable接口

   Java API中的類大多是Java Bean, 基本都實現(xiàn)了Serializable

 序列化的應(yīng)用:

8 淺層復(fù)制與深層復(fù)制

 1) Java的默認(rèn)復(fù)制規(guī)則是淺層復(fù)制, 性能好, 隔離性差

   淺層復(fù)制現(xiàn)象, 只復(fù)制第一層對象

 2) 利用序列化實現(xiàn)深層復(fù)制

.Java IO 總結(jié)

 1)是一種數(shù)據(jù)操作模型: 把任何數(shù)據(jù)都作為Byte的有序集合看待

  逐一處理的方式方式叫做流.

  Java 流模型, 是byte by byte 是數(shù)據(jù)集合

   data   :  41 42 00 00 ff ff d6 d0

   index  :   0  1  2  3  4  5  6  7  8

   pointer:   ^

    RandomAccessFile 只能操作文件, 只能處理基本類型

   節(jié)點流: 流開始和結(jié)束的地方

  過濾器: 基本流的功能擴展

  字節(jié)流: 每次處理一個byte

  字符流: 每次出來一個char

  ObjectInputStream in = new ObjectInputStream(new CipherInputStream(new FileInputStream(file)));

  Object obj = in.readObject();

  CipherInputStream in = new CipherInputStream(new FileInputStream(file));

  img = ImageIO.read(in);

   裝飾器模式: 流的API是按照裝飾器模式設(shè)計的

  InputStream 最基本的輸入流操作模型, 是抽象類(read()是沒有實現(xiàn)的)

  |-- FileInputStream 實現(xiàn)了在文件上讀取的方法 read(), 節(jié)點流

  |-- ByteArrayInputStream 實現(xiàn)了在數(shù)組里讀取的方法 read()

  |-- FilterInputStream 過濾流,包裝在一個基本流外部,提供功能擴展

  |    |-- DataInputStream 為基本流擴展了基本數(shù)據(jù)類型讀取

  |    |    readInt() readDouble()...方法的底層是read()

  |    |-- BufferedInputStream 為基本流提供緩沖處理

  |    |-- CipherInputStream 解密輸入流, 知道就行

  |    |-- ZipInputStream 解壓輸入流, 知道就行

  |-- ObjectInputStream 對象輸入流, 也是過濾器

 

 OutputStream 最基本的輸出流操作模型,是抽象類(write()是沒有實現(xiàn)的)

  |-- FileOutputStream 實現(xiàn)了在文件上寫出的方法 write(), 節(jié)點流

  |-- ByteArrayOutputStream 在變長數(shù)組上實現(xiàn)了write() 方法

  |-- FilterOutputStream

  |    |-- DataOutputStream 基本類型輸出

  |    |

  |    |-- BufferedOutputStream 緩沖輸出

  |    |-- CipherOutputStream 加密輸出

  |    |-- ZipOutputStream 壓縮輸出

  |-- ObjectOutputStream 對象輸出流

 

 字符流, 每次處理一個字符

 Reader 抽象類, 定義了抽象方法read(), 每次讀取一個字符

  |-- InputStreamReader 也是過濾器, 將byte序列解碼為char序列

  |      底層也是依賴基本的byte輸入流

  |-- BufferedReader (Scanner) 是字符流過濾器,

  |     有常用的文本讀取方法readLine()

  |-- FileReader 底層是 FileInputSream + InputStreamReader

  |     不能指定讀取文件的字符編碼

首頁 1 2 3 尾頁
分享到:
本文糾錯】【告訴好友】【打印此文】【返回頂部
將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動訪問考試網(wǎng) | 復(fù)制本頁地址,傳給QQ/MSN上的好友 | 申請鏈接 | 意見留言 TOP
關(guān)于本站  網(wǎng)站聲明  廣告服務(wù)  聯(lián)系方式  站內(nèi)導(dǎo)航  考試論壇
Copyright © 2007-2013 中華考試網(wǎng)(Examw.com) All Rights Reserved
清流县| 惠州市| 龙南县| 罗定市| 浦北县| 寿光市| 大丰市| 克什克腾旗| 宜黄县| 睢宁县| 墨江| 德安县| 邯郸县| 平顶山市| 新竹市| 新昌县| 绥棱县| 衡阳县| 方城县| 长兴县| 于都县| 姜堰市| 建昌县| 临颍县| 卢湾区| 汪清县| 根河市| 苗栗县| 兴宁市| 赣榆县| 通海县| 长泰县| 岐山县| 土默特左旗| 聂荣县| 都昌县| 隆安县| 喜德县| 中西区| 育儿| 铁岭县|