一、流的分類
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...