IO流快速入門通俗易懂

2021-10-13 20:54:00 字數 3340 閱讀 2773

本章file內容知識主要來自b站孫探老師的講解外加一點點個人的理解,傳送門-biu

file說完了再回到io流

位元組流outputstream

字元流(reader,writer)

writer字元輸出流

io流中的壓縮

io流的轉換

圖1:

仔細看過上圖中的朋友們一定對io流有了略微的一點認知!

io:input輸入流和output輸出流

建立功能,刪除功能,重新命名功能,判斷功能,獲取功能

建立功能

刪除功能

重新命名功能

判斷功能

獲取功能

相對路徑:從當前檔案/資料夾所在的位置開始,一直到你想去的某個檔案/資料夾下就叫做相對路徑。

絕對路徑:檔案在系統磁碟上的路徑,從碟符開始,一直到檔案/資料夾的名稱就叫做絕對路徑。

例項:

public

class

filetest6

//獲取指定目錄下的所有檔案或者資料夾的file陣列

file[

] files1 = files.

listfiles()

;for

(file fil2:files1)

}}

根據流向可以分為:(不管是輸入流還是輸出流都是根據你當前的程式而言的)

根據傳輸的內容分為:

字元資料:abcd

不管是字元流還是位元組流,底層流動的都是位元組!

**:這裡主要來看inputstream和outputstream概念

換句話說呢就是不用管 inputstream 是幹嘛的,只需要知道他的子類fileinputstream很有用就行,而他的子類怎麼用呢,看下面 :

fileinputstream構造方法:

fileinputstream​(file file): 傳遞乙個file型別的檔案

fileinputstream inputstream = new fileinputstream(「a.txt」);

建立乙個fileinputstream物件,並繫結乙個資料原始檔

如果檔案不存在,則會丟擲異常(file not found exception)

構造方法例項:

fileinputstream讀取位元組資料:

2.使用位元組陣列讀取:***read(byte b)***,每次讀取b的長度個位元組到陣列中,返回讀取到的有效位元組個數,讀取到末尾時,返回-1

概念

以上五個方法則是位元組輸出流都具有的方法,由父類outputstream定義提供,子類都會共享以上方法

fileoutputstream構造方法

fileoutputstream outputstream = new fileoutputstream(「abc.txt」);

注意:建立輸出流物件的時候,系統會自動去對應位置建立對應檔案,而建立輸出流物件的時候,檔案不存在則會報filenotfoundexception異常,也就是系統找不到指定的檔案異常。fileoutputstream匯出位元組資料

使用fileoutputstream寫出位元組資料主要通過write方法,而write方法分如下三種:

1.寫出位元組,write(int b) 方法,每次可以寫出乙個位元組資料

例項:

class

fileoutputstreamtest2

}

雖然引數為int型別四個位元組,但是只會保留乙個位元組的資訊寫出。

流操作完畢後,必須釋放系統資源,呼叫close方法,千萬記得。

2.寫出位元組陣列 ,write(byte b),每次可以寫出陣列中的資料

例項:

class

fileoutputstreamtest3

}

3.寫出指定長度位元組陣列:write(byte b, int off, int len) ,每次寫出從off索引開始,len個位元組

例項:

class

fileoutputstreamtest4

}

位元組流在這就告一段落了,更深一點的方法也不說了(我也不會,還在學 hhhh~),再說一說字元流:

reader字元輸入流

filereader類

構造方法

例項:

public

class

readertest1

}

filereader讀取字元資料

例項:

public

class

readertest2

// 關閉資源

file.

close();}}

writer字元輸出流

字元輸出流的基本共性功能方法:

filewriter類

構造方法

例項:

public

class

writertest1

}

寫出資料

關閉資源時,與fileoutputstream不同。 如果不關閉,資料只是儲存到緩衝區,並未儲存到檔案

關閉close和重新整理flush

例項:

public

class

ziptest1

}

解壓!
public

class

unziptest

fos.

close()

;}zis.

close()

; fis.

close();}}

例項:

public

class

inputstreamreadertest

}

例項:

public

class

inputstreamwriter

system.out.

println

(sb.

tostring()

);}}

本節完

文中借鑑內容摘抄自:

建立檔案流 IO流快速入門,通俗易懂

本章file內容知識主要來自b站孫探老師的講解外加一點點個人的理解,傳送門 biu file說完了再回到io流 io流中的壓縮 io流的轉換 圖1 仔細看過上圖中的朋友們一定對io流有了略微的一點認知 io input輸入流和output輸出流 建立功能,刪除功能,重新命名功能,判斷功能,獲取功能 ...

Druid通俗易懂的快速入門

通俗點來說它是個不但繼承了tomcat dbcp2資料庫連線池的優點,還支援擴充套件外掛程式的資料庫連線池,其中最常用的三個外掛程式 start wall log4j帶給druid強大的後台監控 防禦sql注入和日誌等功能。再簡單點來說,它會有乙個自己的後台監控頁面,像這樣 依賴 com.aliba...

通俗易懂 快速入門Vue 2

vm為乙個例項,當執行vm.destory 就會銷毀這個例項。這樣通過修改資料vm.data.message 123 頁面不會有相應的變化 或 或 var vm new vue var vm new vue computed methods watch lastname function compu...