Java中IO流知識點總結

2021-08-27 17:33:36 字數 2454 閱讀 5637

一、流的分類

1、按功能分

讀取流:inputstream reader

寫出流:outputstream writer

2、按流的型別分類

位元組流:inputstream outputstream

字元流:reader    writer

二、流功能分析

讀取流是從輸入裝置或資料物件中讀取資料到程式,用程式進行處理讀入的資料,寫出流是把程式處理的資料輸出到

輸出裝置上比如硬碟和控制台。

位元組流讀取和寫入的資料單位是位元組,可以讀取和寫入任何型別的資料。字元流讀取跟寫入的資料單位是字元,只能

讀取和寫入文字型別的資料。當需要讀取或寫入文字型的資料時要用字元流,因為它會比位元組流讀寫字元更方便和高效,相反當數

據不是文字型時只能用位元組流來讀取跟寫入。

三、流中讀寫方法的示例。(當用到io流時就有可能出現io異常,所以需要處理可能的異常)

位元組流:

fileoutputstream fos = new fileoutputstream("d:");

fos.write("dsfdsf".getbytes());//寫入位元組陣列

fos.close();           //用完後需要關閉流,釋放資源。位元組流不需要flush

fileinputstream fis = new fileinputstream("d:");

fis.read();       //讀取乙個位元組

fis.close();

字元流:

filewriter fw = new filewriter("d:\\***.txt");

fw.write("sdfsdfsdf");//可以直接寫入字串

fw.flush();         //寫完後需要flush,才能真正寫道輸出裝置

fw.close();         //close()時也會flush。

filereader fr = new filereader("d:\\***.txt");

fr.read(char ch);//可以讀取乙個字元陣列的內容

fr.close();

四、轉換流

當需要流之間的轉換時會用到轉換流。

1、把位元組讀取流轉換成字元讀取流

inputstreamreader isr = new inputstreamreader(new fileinputstream("***.***"));

2、把字元輸出流轉化成位元組輸出流

outputstreamwriter osw = new outputstreamwriter(new fileoutputstream("xx.***"));

五、緩衝流

需要提高流的讀寫效率時會用到緩衝流

1、位元組緩衝流

bufferedinputstream bis = new bufferedinputstream(new fileinputstream("xx"));

bufferedoutputstream bos = new bufferedoutputstream(new fileoutputstream("xx"));

2、字元緩衝流

bufferedreader br = new bufferedreader(new filereader("xx.txt"));

bufferedwriter bw = new bufferedwriter(new filewriter("xx.txt"));

緩衝流對讀寫功能進行了增強,而且使用緩衝技術提高了讀寫效率,所以當需要提高程式的讀寫效率時要使用緩衝流。

六、file類的使用

1、建立

boolean createnewfile():在指定位置建立檔案,如果該檔案已經存在,則不建立,返回false。

和輸出流不一樣,輸出流物件已建立建立檔案。而且檔案已經存在,會覆蓋。

boolean mkdir()建立資料夾

boolean mkdirs() 建立多級資料夾

2、刪除。

boolean delete();刪除失敗時返回false。如果檔案正在被使用,則刪除不了返回false。

void deleteonexit();在程式退出時刪除指定檔案。

3、判斷

boolean exists();檔案是否存在。

isfile():是不是檔案

isdirectory();是不是資料夾

ishidden();是不是隱藏檔案

isabsolute();是不是絕對路徑

4、獲取資訊

getname();檔名

getpath();檔案路徑

getparent();上一層路徑

getabsolutepath();絕對路徑

字元流知識點總結

現在最常用的就是 ascii 和gbk 表 讀取字元流常用的二個構造方法 讀取資料源 filereader fr new filereader 資料夾的路徑 首先要 int 變數 fr.read 遍歷 讀取裡面的內容 while 變數名 fr.read 1 寫入資料來源 jdk中發現有乙個write...

Linux基礎IO知識點總結

檔案使用方式 含義如果指定檔案不存在 r 唯讀 為了輸入資料,開啟乙個已經存在的文字檔案 出錯 w 只寫 為了輸出資料,開啟乙個文字檔案 建立乙個新的檔案 a 追加 向文字檔案尾新增資料 出錯 rb 唯讀 為了輸入資料,開啟乙個二進位制檔案 出錯 wb 只寫 為了輸出資料,開啟乙個二進位制檔案 建立...

Java集合知識點總結

list有序且允許元素重複。map也屬於集合系統,但和collection介面沒關係。map是key對value的對映集合,其中key列就是乙個集合。key不能重複,但是value可以重複。sortedset和sortedmap介面對元素按指定規則排序,sortedmap是對key列進行排序。has...