一起來學大數據|Java中的IO流

一起來學大數據|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中的IO流

世界很大,幸好有你

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

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


分享到:


相關文章: