io系列之其他類

2022-03-22 00:17:41 字數 3724 閱讀 5430

一、file類:將檔案或者資料夾封裝成物件。

方便對檔案和資料夾的屬性資訊進行操作。

file物件可以作為引數傳遞給流的建構函式。

注意: 資料夾名稱也可帶有副檔名。

建構函式:

file(string pathname) 通過將給定路徑名字串轉換為抽象路徑名來建立乙個新 file 例項。

如: file f1 = new file("c:\\abc\\a.txt");

或:file f1 = new file("a.txt");

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

如: file f2 = new file("c:\\abc","b.txt");

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

如: file d = new file("d:\\abc");

file f3 = new file(d,"c.txt");

目錄分割符: tatic string separator 與系統有關的預設名稱分隔符,為了方便,它被表示為乙個字串。

作用 : 為了解決路徑名稱字串中的「\\」不具有跨作業系統平台性的問題。

如:"c:\\abc\\a.txt" 可以改寫為: "c:"+file.separator+"abc"+file.separator+"a.txt" 。

其它方法:

1、建立:

boolean createnewfile() 在呼叫的物件指定路徑下不存在指定檔案時,建立這個檔案,並返回true,否則返回false。

boolean mkdir() 建立此抽象路徑名指定的目錄,如果目錄已存在,則不建立,返回false(只能建立一級目錄)。

boolean mkdirs()建立此抽象路徑名指定的目錄,如果目錄已存在,則不建立,返回false(可以建立多級目的)。

2、刪除:

boolean delete()  在呼叫的物件指定路徑下存在指定檔案時,刪除這個檔案,並返回true,否則返回false。

void deleteoneexit()  在虛擬機器退出的時候,刪除呼叫物件指定路徑下的檔案。

3、判斷:

boolean exists() 測試此抽象路徑名表示的檔案或目錄是否存在。存在就返回true, 否則返回false。

boolean isdirectory() 測試此抽象路徑名表示的檔案是否是乙個目錄。

boolean isfile() 測試此抽象路徑名表示的檔案是否是乙個標準檔案。

注意:在需要判斷檔案物件是檔案還是目錄時,必須先判斷該檔案物件封裝的內容是否存在。!!

boolean ishidden() 測試此檔案是否為乙個隱藏檔案。

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

boolean canexecute() 判斷該路徑對應檔案是否問可執行檔案,可執行返回true,否則返回false。

boolean canread() 測試應用程式是否可以讀取此抽象路徑名表示的檔案。

boolean canwrite() 測試應用程式是否可以修改此抽象路徑名表示的檔案。

4、獲取:

string getname() 返回由該file物件鎖表示的的檔案或者資料夾的名稱(只是名字)。

string getpath()返回此file物件建立時傳入的路徑。

string getabsolutepath()返回此file物件表示檔案或資料夾的絕對路徑。

file getabsolutepath()返回此file物件表示檔案或資料夾的絕對路徑(該路徑被封裝成file物件)。

string getparent()返回此file物件表示的父目錄(該父目錄只是建立file物件時傳入的路徑上的父目錄)。

long lastmodified() 返回此file物件所表示檔案或資料夾最後一次被修改的時間。

long length() 返回由此抽象路徑名表示的檔案的長度。(即 大小)。

boolean renameto(file dest) 為file物件指定檔案改名字(路徑也可以改,類似剪下並改名)

5、list方法:

static file listroots() 列出可用的系統根目錄(如:c/d/e/f盤)

string list()    返回乙個字串陣列,這些字串指定此抽象路徑名表示的目錄中的檔案和目錄

string list(filenamefilter filter) 返回乙個字串陣列,這些字串指定此抽象路徑名表示的目錄中滿足指定過濾器的檔案和目錄

(包含隱藏檔案,且呼叫該方法的file物件封裝的是乙個存在的目錄,是檔案就會返回空)

file listfiles() 返回乙個抽象路徑名陣列,這些路徑名表示此抽象路徑名表示的目錄中的檔案。

file listfiles(filefilter filter) 返回抽象路徑名陣列,這些路徑名表示此抽象路徑名表示的目錄中滿足指定過濾器的檔案和目錄。

file listfiles(filenamefilter filter) 返回抽象路徑名陣列,這些路徑名表示此抽象路徑名表示的目錄中滿足指定過濾器的檔案和目錄。

這其中的filenamefilter是過濾器, 要另外新建(實現filenamefilter介面的類,只有乙個方法,一般匿名內部類)

二、propperties類

properties是hashtable的子類,就是說其具有map集合的特點,而且其中儲存的鍵值對都是字串。

我們可以使用map集合的共有方法(keyset,或者entryset等方法),也可以使用其特有的方法來運算元據。

因為properties是乙個與io技術相結合的容器,所以我們一般使用其特有的方法類運算元據。

作用: 可以用於鍵值對形式的配置檔案。(所以我們在載入資料的時候就要有固定的格式: 鍵 = 值 )。

string getproperty(string key) 用指定的鍵在此屬性列表中搜尋屬性。

string getproperty(string key, string defaultvalue) 用指定的鍵在屬性列表中搜尋屬性。

void list(printstream out) 將屬性列表輸出到指定的輸出流。

void list(printwriter out) 將屬性列表輸出到指定的輸出流。

void load(inputstream instream) 從輸入流中讀取屬性列表(鍵和元素對)。

void load(reader reader) 按簡單的面向行的格式從輸入字元流中讀取屬性列表(鍵和元素對)。

void

store(writer writer, string comments)

以適合使用load(reader)方法的格式,將此properties表中的屬性列表(鍵和元素對)寫入輸出字元。

void

store(outputstream out, string comments)

以適合使用load(inputstream)方法載入到properties表中的格式,將此properties表中的屬性列表(鍵和元素對)寫入輸出流。

io系列之其他事項

二 對io異常的處理。io操作中,只要涉及到底層操作的就必須進行 io異常處理。ioexception 是io操作中必須處理的異常。示例 class ioexceptiontest catch ioexception e finally 關閉資源動作一定要執行,在finally塊中。catch io...

其他的IO流

列印流 printwriter 字元輸出 printstream 位元組輸出 總結 有writer 和reader 都是字元流 列印流在實現自動換行和重新整理要做true處理 列印流一般結合bufferreader和bufferedinputstream一起使用 普通寫入 printwriter p...

總結 IO之File類《一》

io流 input output 位元組流輸入位元組流 inputstream 所有輸入位元組流的基類 抽象類 fileinputstream 讀取檔案資料的輸入位元組流 bufferedinputstream 緩衝輸入字元流 該類出現的目的是為了提高讀取檔案 資料的效率。這個類其實只不過是在內部維...