總結 IO之File類《一》

2021-08-07 07:43:06 字數 3527 閱讀 6342

io流(input output) :

位元組流輸入位元組流:

———–| inputstream 所有輸入位元組流的基類 抽象類

—————–| fileinputstream 讀取檔案資料的輸入位元組流

—————–| bufferedinputstream 緩衝輸入字元流 該類出現的目的是為了提高讀取檔案 資料的效率。 這個類其實只不過是在內部維護了乙個8kb的位元組陣列而已。

輸出位元組流:

———–| outputstream 所有輸出位元組流的基類。 抽象類。

—————-| fileoutputstream 向檔案輸出資料的輸出位元組流

—————-| bufferedoutputstream 緩衝輸出位元組流 該類出現的目的也是為了提高向檔案寫資料的效率。 這個類的也只不過是在內部維護了乙個8kb的位元組陣列而已。

字元流 : 字元流 = 位元組流 + 編碼(解碼)

輸入字元流:

———| reader 所有輸入字元流的基類。 抽象類。

—————-| filereader 讀取檔案資料的輸入字元流。

—————-| bufferedreader 緩衝輸入字元流 該類出現的目的是為了提高讀取檔案資料的效率與拓展filereader的(readline)功能。 這個類的也只不過是在內部維護了乙個8kb的字元陣列而已。

輸出字元流:

———| writer 所有輸出字元流的基類。 抽象類

—————-| filewriter 向檔案輸出資料的輸出字元流

—————-| bufferedwriter 緩衝輸出字元流 該類出現的目的是為了提高寫檔案資料的效率與拓展filewriter的(newline)功能.

io技術主要的作用是解決裝置與裝置之間 的資料傳輸問題。 比如: 硬碟—>記憶體 記憶體的資料—->硬碟上 把鍵盤的資料——->記憶體中

資料儲存到硬碟上,該資料就可以做到永久性的儲存。 資料一般是以檔案的形式儲存到硬碟上

sun使用了乙個file類描述了檔案或者資料夾的。

file類可以描述乙個檔案或者乙個資料夾。

file類的構造方法:

file(string pathname)  指定檔案或者資料夾的路徑建立乙個file檔案。

file(file parent, string child) 根據 parent 抽象路徑名和 child 路徑名字串建立乙個新 file 例項。

file(string parent, string child)

目錄分隔符: 在windows機器上 的目錄分隔符是 \ ,在linux機器上的目錄分隔符是/ .

注意: 在windows上面\ 與 / 都可以使用作為目錄分隔符。 而且,如果寫/ 的時候只需要寫乙個即可。

public

class demo1

}

路徑問題:

絕對路徑: 該檔案在硬碟上 的完整路徑。絕對路徑一般都是以碟符開頭的。

相對路徑: 相對路徑就是資源檔案相對於當前程式所在的路徑。

. 當前路徑

.. 上一級路徑

注意: 如果程式當前所在的路徑與資源檔案不是在同乙個盤下面,是沒法寫相對路徑 的。

public

class demo2

}

建立:

createnewfile() 在指定位置建立乙個空檔案,成功就返回true,如果已存在就不建立然後返回false

mkdir() 在指定位置建立目錄,這只會建立最後一級目錄,如果上級目錄不存在就拋異常。

mkdirs() 在指定位置建立目錄,這會建立路徑中所有不存在的目錄。

renameto(file dest) 重新命名檔案或資料夾,也可以操作非空的資料夾,檔案不同時相當於檔案的剪下,剪下時候不能操作非空的資料夾。移動/重新命名成功則返回true,失敗則返回false。

public

class demo3

}

刪除:

delete() 刪除檔案或乙個空資料夾,如果是資料夾且不為空,則不能刪除,成功返回true,失敗返回false。

deleteonexit() 在虛擬機器終止時,請求刪除此抽象路徑名表示的檔案或目錄,保證程式異常時建立的臨時檔案也可以被刪除

判斷:

exists() 檔案或資料夾是否存在。

isfile() 是否是乙個檔案,如果不存在,則始終為false。

isdirectory() 是否是乙個目錄,如果不存在,則始終為false。

ishidden() 是否是乙個隱藏的檔案或是否是隱藏的目錄。

isabsolute() 測試此抽象路徑名是否為絕對路徑名。

public

class demo4

}

getname() 獲取檔案或資料夾的名稱,不包含上級路徑。

getpath() 返回絕對路徑,可以是相對路徑,但是目錄要指定

getabsolutepath() 獲取檔案的絕對路徑,與檔案是否存在沒關係

length() 獲取檔案的大小(位元組數),如果檔案不存在則返回0l,如果是資料夾也返回0l。

getparent() 返回此抽象路徑名父目錄的路徑名字串;如果此路徑名沒有指定父目錄,則返回null。

lastmodified() 獲取最後一次被修改的時間。

public

class demo5

}

資料夾相關:

staic file listroots() 列出所有的根目錄(window中就是所有系統的碟符)

list() 返回目錄下的檔案或者目錄名,包含隱藏檔案。對於檔案這樣操作會返回null。

listfiles() 返回目錄下的檔案或者目錄物件(file類例項),包含隱藏檔案。對於檔案這樣操作會返回null。

list(filenamefilter filter) 返回指定當前目錄中符合過濾條件的子檔案或子目錄。對於檔案這樣操作會返回null。

listfiles(filenamefilter filter) 返回指定當前目錄中符合過濾條件的子檔案或子目錄。對於檔案這樣操作會返回null。

public

class demo6 */

file file = new file("f:\\1208\\day17");

/*string filenames = file.list(); //把 當前資料夾下面的所有子檔名與子資料夾名 儲存到乙個string型別 的陣列中 返回。

for(string filename : filenames)*/

file files = file.listfiles(); // 把 當前資料夾下面的所有子檔案與子資料夾都使用了乙個file物件描述,然後把這些file物件儲存到乙個file陣列中返回

for(file fileitem : files)

}}

判斷file空 IO流(二) File類

file類的建構函式 通過將給定路徑名字串轉換為抽象路徑名來建立乙個新 file 例項。引數 string pathname 字串的路徑名稱 路徑可以是以檔案結尾,也可以是以資料夾結尾 路徑可以是相對路徑,也可以是絕對路徑 路徑可以是存在,也可以是不存在 建立file物件,只是把字串路徑封裝為fil...

File類 遞迴 IO流入門

提供用於建立 複製 刪除 移動和開啟單一檔案的靜態方法,並協助建立 filestream 物件 一 file物件的建立方式file string pathname 通過路徑名字來建立新的file例項 file string parent,string child 通過父路徑和子路徑建立file例項 ...

IO流 File類的使用

1 file類的乙個物件,代表乙個檔案或者資料夾 2 file類宣告在io包下 3 file類涉及到檔案的建立 刪除 重新命名 修改時間 檔案大小等方式 並未涉及到資料的寫入與讀取等操作,如果需要讀取或者寫入資料,必須使用io流來完成 4 後續file類的物件常常被當做引數傳遞到流的構造器中,指明讀...