File類與序列化

2022-06-09 16:06:06 字數 1894 閱讀 7571

1.與檔案、目錄名相關方法

string getname() 返回由此抽象路徑名表示的檔案或目錄的名稱。

string getpath() 將此抽象路徑名轉換為乙個路徑名字串。

string getabsolutepath() 返回此抽象路徑名的絕對路徑名字串。

file getabsolutefile() 返回此抽象路徑名的絕對路徑名形式。

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

boolean renameto(file dest) 重新命名此抽象路徑名表示的檔案。

2.與目錄訪問相關方法

boolean mkdir() 建立此抽象路徑名指定的目錄。

boolean mkdirs() 建立此抽象路徑名指定的目錄,包括所有必需但不存在的父目錄。

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

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

3.與檔案、目錄常規資訊相關方法

long lastmodified() 返回此抽象路徑名表示的檔案最後一次被修改的時間。

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

boolean delete() 刪除此抽象路徑名表示的檔案或目錄。

4.與檔案、目錄檢測相關方法

boolean equals(object obj) 測試此抽象路徑名與給定物件是否相等。

boolean exists() 測試此抽象路徑名表示的檔案或目錄是否存在。

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

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

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

boolean ishidden() 測試此抽象路徑名指定的檔案是否是乙個隱藏檔案。

二、序列化

io流:包裝位元組流就是個標準的序列化案例。

//

序列化 fileoutputstream fos = null

; bufferedoutputstream bos = null

; objectoutputstream oos = null

;

try

catch

(ioexception e)

finally

catch

(ioexception e)

}}

//

反序列化

fileinputstream fis = null

; objectinputstream ois = null

;

try

catch

(ioexception e)

finally

catch

(ioexception e)

}}

定義規則:

1.當物件被序列化時,jvm只序列化其字段值,方法和構造器不參與序列化。

2.如果物件的某個字段引用了另乙個物件,則被引用物件的字段也將被序列化。

3.有些物件類(如fileinputstream)是不可序列化的,因為字段值與作業系統相關的即時資訊。

4.訪問控制修飾符對序列化無影響。

5.靜態變數不參與序列化,因為它不屬於物件。

注意:當物件被反序列化時,靜態變數的值被設為儲存在相應類變數的值。

序列化與發序列化

1.序列化與反序列化都用的是相同的 binaryformatter bf new binaryformatter 2.使用 流 的方式 filestream fs new filestream 序列化內容路徑 一般為本地bin debug檔案中 類名.bin filemode.openorcreat...

序列化與反序列化

把複雜的資料型別壓縮到乙個字串中 serialize 把變數和它們的值編碼成文字形式 unserialize 恢復原先變數 eg stooges array moe larry curly new serialize stooges print r new echo print r unserial...

序列化與反序列化

序列化是將物件處理為位元組流以儲存物件或傳輸到記憶體 資料庫或檔案。其主要目的是儲存物件的狀態,以便可以在需要時重新建立物件。相反的過程稱為反序列化。通過序列化,開發人員可以儲存物件的狀態,並在需要時重新建立該物件,從而提供物件的儲存以及資料交換。通過序列化,開發人員還可以執行類似如下的操作 通過 ...