成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Java IO框架總攬--FileInputStream源碼解讀

894974231 / 3505人閱讀

摘要:是從文件系統(tǒng)中的文件中獲取字節(jié),至于什么文件,取決于主機環(huán)境,用于讀取原始字節(jié)流,如圖像數(shù)據(jù),假如想要讀取字符類型流,請使用。跳過個字節(jié)本地方法關(guān)閉文件輸入流

   FileInputStream是從文件系統(tǒng)中的文件中獲取字節(jié),至于什么文件,取決于主機環(huán)境,F(xiàn)ileInputStream用于讀取原始字節(jié)流,如圖像數(shù)據(jù),假如想要讀取字符類型流,請使用FileReader。
   
   FileInputStream是繼承于InputStream,首先FileInputStream有三個構(gòu)造函數(shù);分別是

FileInputStream(File file) // 構(gòu)造函數(shù)1:創(chuàng)建“File對象”對應(yīng)的“文件輸入流”
FileInputStream(FileDescriptor fd) // 構(gòu)造函數(shù)2:創(chuàng)建“文件描述符”對應(yīng)的“文件輸入流”
FileInputStream(String path) // 構(gòu)造函數(shù)3:創(chuàng)建“文件(路徑為path)”對應(yīng)的“文件輸入流”

  用法:

 總結(jié):通過這三種構(gòu)造函數(shù)可以FileInputStream(FileDescriptor fd)是和通過構(gòu)造函數(shù)1和構(gòu)造函數(shù)3獲得的實例是同一個實例。

public int read() //從此輸入流中讀取一個數(shù)據(jù)字節(jié)
public int read(byte b[]) //從此輸入流中讀取多個字節(jié)到byte數(shù)組中
public int read(byte b[], int off, int len) //從此輸入流中讀取最多l(xiāng)en個字節(jié)到byte數(shù)組中

測試read()


代碼實現(xiàn)中很簡單,一個try中調(diào)用本地native的read0()方法,直接從文件輸入流中讀取一個字節(jié)

測試read(byte b[])


代碼實現(xiàn)也是比較簡單的,也是一個try中調(diào)用本地native的readBytes()方法,直接從文件輸入流中讀取最多b.length個字節(jié)到byte數(shù)組b中

測試 read(byte b[], int off, int len)


代碼實現(xiàn)和 int read(byte b[])方法 一樣,直接從文件輸入流中讀取最多l(xiāng)en個字節(jié)到byte數(shù)組b中。

int available() // 返回“剩余的可讀取的字節(jié)數(shù)”或者“skip的字節(jié)數(shù)” 一個本地的方法


根據(jù)這個方法,可以有效的創(chuàng)建byte[]數(shù)組實例,實現(xiàn)最大化利用內(nèi)存空間,在Java的世界里,一個中文占3個字節(jié),一個中文標題符號,同樣也是占有3個字節(jié)。

long skip(long byteCount) // 跳過byteCount個字節(jié) 本地方法

void close()// 關(guān)閉“文件輸入流”

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/71886.html

相關(guān)文章

  • Java IO框架總攬--FileOutputStream源碼解讀

    摘要:是繼承與的子類常用屬性文件描述符是否在文件尾部開始追加寫入用于讀寫映射操作文件的通道文件的路徑一個關(guān)閉鎖,只在方法中使用,確保多線程同步調(diào)用構(gòu)造函數(shù)創(chuàng)建一個向指定對應(yīng)的文件中寫入數(shù)據(jù)的文件輸出流創(chuàng)建一個向指定對應(yīng)的文件中寫入數(shù)據(jù)的文件輸出流 FileOutputStream 是繼承與OutputStream的子類 1 常用屬性 private final FileDescriptor...

    warmcheng 評論0 收藏0
  • Java IO框架總攬--File源碼解讀

    摘要:直接繼承與,實現(xiàn)了接口和接口,實現(xiàn)接口,意味著對象支持序列化操作,而實現(xiàn)接口,意味著之間可以比較大小。刪除此抽象路徑名表示的文件或目錄。標記此抽象路徑名指定的文件或目錄,從而只能對其進行讀操作。 showImg(https://segmentfault.com/img/bVbi3ls?w=2048&h=164);1 File直接繼承與Object,實現(xiàn)了Serializable接口和C...

    rubyshen 評論0 收藏0
  • Java IO框架總攬--ObjectInputStream& ObjectOutputSt

    摘要:與的作用是對基本數(shù)據(jù)和對象進行序列化操作進行支持。如果檢測到反序列化的類的和對象二進制流的不同,則會拋出異常。 ObjectInputStream與ObjectOutputStream的作用是:對基本數(shù)據(jù)和對象進行序列化操作進行支持。其中ObjectInputStream對象提供對基本數(shù)據(jù)和對象對持久存儲,當(dāng)我們需要讀取這些存儲這些基本數(shù)據(jù)或?qū)ο髸r,可以創(chuàng)建文件輸入流對應(yīng)的Object...

    philadelphia 評論0 收藏0
  • Java IO框架總攬--序列化

    摘要:序列化提供的一種對象序列化的機制,在該機制中,一個對象可以被表示為一個字節(jié)序列,該字節(jié)序列包括對象的數(shù)據(jù)有關(guān)對象的類型的信息和存儲在對象中的數(shù)據(jù)類型。類和是高程次的數(shù)據(jù)流,他們包含序列化和反序列化對象的方法。 序列化:Java提供的一種對象序列化的機制,在該機制中,一個對象可以被表示為一個字節(jié)序列,該字節(jié)序列包括對象的數(shù)據(jù)、有關(guān)對象的類型的信息、和存儲在對象中的數(shù)據(jù)類型。 反序列化:將...

    codercao 評論0 收藏0
  • 從設(shè)計者的角度理解Java IO

    摘要:通過多個裝飾類實現(xiàn)責(zé)任鏈模式,它將對一個輸入流的不同處理分散到不同的中去。 1、基本概念 1.1、InputStream 最基本的字節(jié)輸入流,抽象類,定義了讀取原始字節(jié)的所有基本方法1.1.1、public abstract int read() throws IOException 讀取一個字節(jié)的方法,最基礎(chǔ)的方法1.1.2、public int read(byte b[], in...

    Flink_China 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<