天天看點

JavaIO學習:位元組流

抽象基類:InputStream,OutputStream。

位元組流可以操作任何資料。

JavaIO學習:位元組流

注意:

字元流使用的數組是字元數組,char[] chs ;

位元組流使用的數組是位元組數組,byte[] bt ;

目前學習的流對象:

字元流: FileReader FileWriter BuffereedReader BufferedWriter

位元組流:FileInputStream FileOutputStream BufferedInputStream BufferedOutputStream

1.位元組流的read()方法讀取的是一個位元組。為什麼傳回的不是byte類型,而是int類型呢?

因為read方法讀到末尾時傳回的是-1,而在所操作的資料中很容易出現連續多個1的情況,而連續讀到8個1,就是-1,導緻讀取會提前停止。是以将讀到的一個位元組提升為一個int類型的數值,但是隻保留原位元組,并在剩餘二進制位補0。

具體操作是:byte&255 or byte&0xff

對于write方法,可以一次寫入一個位元組,但接收的是一個int類型數值。隻寫入該int類型的數值的最低一個位元組(8位)。

簡單說:read方法對讀到的資料進行提升,write對操作的資料進行轉換。