国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

java中的IO流

2019-11-14 15:39:22
字體:
來源:轉載
供稿:網友

:java流是Sun公司專門為文件操作,數據傳輸開發出來的一些類,但是取了個名字叫做流.所有打開的流都必須關閉,因為打開的流是很耗費資源的,并且很不安全.

流中的對象是針對當前操作的程序而言的,輸入是指往程序中導入數據,輸出是指將當前程序中的數據導出到外部

所有的流都實現了Closeable(意思是需要程序員去手動關閉的程序)接口,用于關閉流

所有的輸出流在繼承Closeable的同時也實現了Flushable,用于將緩存的數據強制刷入文件

 

16個常用流

  原始流:(打開連接,讀取數據)

    FileInputStream

    FileOutputStream

    FileReader

    FileWriter

  包裝流:(在原始的基礎上進行強化)

    緩存流,為了加快速度,多次讀,一次寫

    BufferedReader

    BufferedWriter

    BufferedInputStream

    BufferedOutputStream

    轉換流:將字節流轉換成字符流

    InputStreamReader

    OutputStreamWriter

    格式化輸出流:要對數據輸出前進行排版

    PRintWriter

    PrintStream:標準輸出流,默認把數據輸出到控制臺

    不同平臺(操作系統)之間數據存儲,讀取方式不同,為了彌補這些差異性,形成統一,出現了下面兩種流

    DataOutputStream

    DataInputStream

序列化:對象是數據封裝的一種方式,并沒有封裝邏輯.對象在當前內存的范疇使用是沒有問題的,但是如果超出了當前內存作用域范疇就需要邏輯,別的地方不一定有當前對象的邏輯,但里面的數據需要用特定的方式讀取,所以我們會把對象對應的邏輯代碼一起創建出來,這就叫對象的序列化

  需要這個類實現java.io.Serializable接口

  ObjectOutputStream 序列化java對象到硬盤或遠程計算機

  ObjectInputStream 將硬盤中的數據反序列化到jvm內存

  序列化是通過兩個類把對象中的數據保存到文件中,并不是把整個類復制到文件中,而是把類實例化后的對象中的數據序列化到文件中,原來的類結構文件還必須保存.為了保證序列化前后的類結構文件是一致的,所有實現了Serializable接口的類及其子類都會有一個隱含的成員屬性 serialVersionUID:這個成員變量用于保存jvm生成的一個唯一的編碼,當然,也可以顯式的指定

  序列化以后,進行反序列化,必須調用原來的類文件,如果原來的類文件不存在了,反序列化就會報錯,這個時候,我們需要重新生成類文件,但是,如果類的內容改了,重新生成也會失敗,實現了Serializable 接口的類文件的serialVersionUID 都是不同的,這個也已經序列化到了對象文件中,反序列化的時候會比對這個編碼,不一致就會報錯,serialVersionUID 編碼是和內容綁定的,如果數據改了,編號也就變了.但是我們可以自己顯式的指定serialVersionUID來規避這個問題(static final long serialVersionUID = 1L),我們在類原始編碼文件中指定以后,jvm就不會再指定,這樣原始編碼文件,類文件,序列化文件中的編碼就一直相同,即使我們刪除了原始類文件,重新生成一個;甚至我們改變了類文件的內容,也能反序列化成功

 

常用的方法

  所有的流中都有close()方法,流使用完以后關閉流

  InputStreamReader

    read( ) : 從輸入流中讀取數據,根據參數的不同有不同的讀取方式

    skip( ) : 跳過和丟棄輸入流中的一些數據

  OutputStreamWriter

    write( ) : 將指定的數據讀入到此輸出流中

    flush( ) : 將所有緩沖的內容強制刷入此輸出流中

 


上一篇:JAVA(3)

下一篇:Struts2的入門示例

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通榆县| 玛曲县| 昌平区| 嵊州市| 金昌市| 车险| 霍山县| 安图县| 潍坊市| 伊吾县| 茂名市| 博乐市| 高碑店市| 平江县| 崇义县| 宜丰县| 馆陶县| 彩票| 凭祥市| 普兰店市| 开化县| 太仓市| 澜沧| 柞水县| 黑河市| 嵩明县| 友谊县| 遵义市| 宁明县| 南部县| 那坡县| 寻乌县| 宁海县| 闽侯县| 灵璧县| 梓潼县| 白水县| 通山县| 乌什县| 盐山县| 响水县|