一起來學大資料|Java中的IO流

今天,我們學習的是java中的比較重要IO流,通過這篇文章的學習,我們可以完成對本地檔案的讀取和建立等功能。一起來看一下吧。

File及構造方法

java中的file類是檔案和目錄路徑名的抽象表示形式,其中它的構造方法有

一起來學大資料|Java中的IO流

通過這些方法我們可以獲取檔案的路徑,之後便可以處理檔案。如下:

  • 根據檔案的全名

File f1 = new File(“C:/Users/Renyu/Desktop/a/b/a.txt”);

  • 兩個路徑拼接成全路徑

File f2 = new File(“C:/Users/Renyu/Desktop/a”, “/b/my.txt”);

一起來學大資料|Java中的IO流

File類成員方法

其中的成員方法有建立,刪除,重新命名以及以下判斷功能

一起來學大資料|Java中的IO流
一起來學大資料|Java中的IO流
一起來學大資料|Java中的IO流

下面有一些簡單的例項,我們來一起感受一下// 如果此檔案存在

一起來學大資料|Java中的IO流
一起來學大資料|Java中的IO流

IO流

我們學會了對檔案的處理,能對檔案建立刪除以及修改命名等等,下面我們可以通過IO流對檔案中的內容進行讀取和寫入。

IO流是用來處理裝置之間資料傳輸上傳檔案和下載檔案的,其中我們可通過Java中的流對資料的進行操作,我們使用的的操作流物件都是在IO包中。

IO流分類

  • 根據資料流

輸出流–>讀入資料

輸出流–>寫出資料

  • 根據資料型別

字元流

位元組流

那麼問題來了,我們要在什麼樣的情況下使用流呢?首先,當我們資料所在的檔案通過Windows自帶的筆記本就可以開啟的話,並且可以讀懂裡面的內容,這時候我們要使用字元流,如果不能,那麼我們用位元組流。

還有就是如果你也不知道這麼檔案是什麼樣子的,那我我們使用位元組流。

一起來學大資料|Java中的IO流

IO流常用的基類

位元組流的抽象基類:InputStream,OutPutStream

字元流的抽象基類:Reader ,Winter

這裡有一點是值得注意的,有這4個類派生出的子類名董事以其父類名作為子類的後最。

一起來學大資料|Java中的IO流

位元組流的讀/寫資料

一起來學大資料|Java中的IO流
一起來學大資料|Java中的IO流
一起來學大資料|Java中的IO流

通過上述的例子,我們就可以實現對檔案的位元組流讀取,記住在寫完資料後要及時close關閉資源,以便釋放資源給其它程序使用。

位元組緩衝流

相比起位元組流每次讀寫一個位元組檔案來說,與位元組不同的是,位元組緩衝流的加入了位元組緩衝區。目的就是提高操作的效率。

位元組緩衝輸出流 BufferedOutputStream

位元組緩衝輸出流 BufferedInputStream

一起來學大資料|Java中的IO流

例項1中有flush()這時將緩衝區的資料重新整理到檔案中,預設大小是8K,這樣每次都以塊的形式輸入,加快了資料讀寫。

轉換流

在位元組流中操作中文並不是特別的方便,於是在java中提供了轉換流

字元流=位元組流 編碼表

轉換流的構造方法

一起來學大資料|Java中的IO流
一起來學大資料|Java中的IO流
一起來學大資料|Java中的IO流

因為轉換流的名字比較的長,我們為了簡化書寫,給轉換流提供額對應的子類,FileWriteFileReader

字元緩衝流

我們有位元組緩衝了流,當然也有字元緩衝流,下面我們再來看看這個吧~

一起來學大資料|Java中的IO流

其實這些都是大同小異的用法,學習會一個別的也差不多。在這裡面我們有特殊的功能

分別是寫一行新資料void newLine()、讀取一行資料String readLine()、以及複製文字檔案

一起來學大資料|Java中的IO流

以上就是IO流額一些簡單常用的知識,除此之外還有一些記憶體操作流、標準輸出輸入流、Properties流我們之後的遇到再對此作出補充。

個人原創,如有遺漏多多指教。如果有幫助到你的話,關注支援一下~~

感謝堅持關注的朋友~

一起來學大資料|Java環境的安裝配置,你沒見過的方式

世界很大,幸好有你~

歡迎在評論區留下你的問題或困惑,我將每天與你分享我的觀點和心得。

聚焦最新科技諮訊,探尋未來智慧領域,我是Mario女陶。