第十周課程總結

2022-06-27 14:42:12 字數 1906 閱讀 2648

位元組流與字元流基本操作

程式需要資料的時候要使用輸入流讀取資料,程式需要將一些資料儲存起來的時候就要使用輸出流完成

位元組流在位元組流中輸出資料主要使用outoutstream類完成,輸入使用inputstream類,在字元流中輸出主要是使用writer類完成,輸入主要是 ```reader`` 類完成

outputstream是整個io包中位元組輸出流的最大父類定義如下:

public abstract class outputstream

extends object

implements closeable,flushable

位元組輸入流inputstream

public abstract class inputstream

extends object

implements closeable

字元流

字元輸出流writer

public abstract class writer

extends object

字元輸入流reader

public abstract class reader

extends object

implements readable,closeable

字元流與位元組流的區別

位元組流是直接操作檔案本身的,如果沒有關閉位元組流操作,檔案會依然輸出內容

而字元流在程式執行之後會發現檔案沒有任何的內容,這是因為字元流操作的時候使用了緩衝區,而在關閉字元流的時候會強制性地將緩衝區中的內容進行輸出,但是如果程式沒有關閉,緩衝區的內容是無法輸出的

緩衝區:

可以見到地把緩衝區理解為一段特殊的記憶體,如果乙個程式頻繁地操作乙個資源,則效能會下降很低,此時為了提公升效能,就可以將一部分資料暫存到記憶體的一塊區域中,以後直接從此區域中讀取資料即可

轉換流——outputstreamwriter類與inputstreamreader類

outputstreamwriter類:是writer的子類,將輸出的字元流變更為位元組流

inputstreamreader類:是reader的子類,將輸出的位元組流變更為字元流

記憶體操作流

位元組記憶體流:bytearrayinputstream(記憶體位元組輸入流)、bytearrayoutputstream(記憶體位元組輸出流)

字元記憶體流chararrayreader(記憶體字元輸入流)、chararraywriter(記憶體字元輸出流)

管道流主要作用是可以進行兩個執行緒間的通訊,分為管道輸出流(pipedoutputstream)、管道輸入流(pipedinputstream),要進行管道輸出,必須要把輸出流連在輸入流上,在pipedoutstream類上:

public void connect (pipedinputstream snk)throws ioexception
列印流

在整個io包中,列印流是輸出資訊最方便的類,主要包含位元組列印流(printstream)和字元列印流(printwriter)

列印流提供了非常方便的列印功能,可以列印任何的資料型別

列印流格式化:可以直接使用printf()方法就可以完成操作

system類對io的支援

system類的常量

1.public static final printstream out 對應系統標準輸出,一般是顯示器

2.public static final printstream err 錯誤資訊輸出

3.public static final inputstream in 對應著標準輸入,一般是鍵盤

第十周課程總結

流是個抽象的概念,是對輸入輸出裝置的抽象,輸入流可以看作乙個輸入通道,輸出流可以看作乙個輸出通道。輸入流是相對程式而言的,外部傳入資料給程式需要借助輸入流。輸出流是相對程式而言的,程式把資料傳輸到外部需要借助輸出流。什麼是位元組流?位元組流 傳輸過程中,傳輸資料的最基本單位是位元組的流。什麼是字元流...

第十周課程總結

輸出資料 outputstream類 輸入資料 inputstream類 輸出資料 writer類 輸入資料 reader類 1使用file類開啟乙個檔案 2通過位元組流或字元流的子類,指定輸出的位置 3進行讀 寫操作 4關閉輸入 輸出 outputstreamwriter類 writer的子類,將...

第十周課程總結

package j a7 import j a.io.public class demo out.close file f2 new file d file.separator file.separator demo.txt 宣告file物件 inputstream input null 準備好乙個...