java.io.File用于表示文件(目錄),也就是說程序員可以通過File類在程序中操作硬盤上的文件和目錄。
java.io.File:File的每一個(gè)實(shí)例用于表示文件系統(tǒng)中的一個(gè)文件或目錄
使用File可以:
1)訪問該文件或目錄的屬性信息(名字,大小,修改日期等)
2)操作文件或目錄(創(chuàng)建,刪除)
3)若表示的是目錄,可以查看該目錄中的子項(xiàng)信息
但是不能訪問一個(gè)文件中的數(shù)據(jù)
表示文件的相關(guān)方法:
創(chuàng)建新文件:
刪除一個(gè)文件:
File表示目錄時(shí):
創(chuàng)建目錄方法:
刪除目錄:
這里有遞歸調(diào)用,就是方法內(nèi)部調(diào)用自己方法的現(xiàn)象稱為遞歸調(diào)用,遞歸現(xiàn)象就是允許程序執(zhí)行到某個(gè)階段時(shí)整體重新來過。
使用遞歸需要注意:
1)方法內(nèi)部調(diào)用自己方法不能100%成立,否則是死循環(huán)。
2)遞歸層次盡量少,因?yàn)檫f歸消耗內(nèi)存可觀,運(yùn)行效率差。
獲取一個(gè)目錄中的所有子項(xiàng)方法:
文件過濾器過濾子項(xiàng):File提供了一個(gè)重載的listFiles方法,該方法可以指定一個(gè)文件過濾器,這樣可以將該目錄中所有滿足過濾器要求的子項(xiàng)獲取到。
下面介紹一個(gè)可以讀寫文件數(shù)據(jù)的類,Java提供了一個(gè)可以對文件隨機(jī)訪問的操作,訪問包括讀和寫操作。該類名為RandomAccessFile。該類的讀寫是基于指針的操作。
創(chuàng)建文件:
讀取文件數(shù)據(jù):
文件復(fù)制(單字節(jié)復(fù)制):
文件復(fù)制(多字節(jié)一起復(fù)制):隨機(jī)讀寫效率差,塊讀寫效率高。所以若希望提高讀寫效率,可以通過提高每次讀寫的數(shù)據(jù)量減少讀寫次數(shù)來達(dá)到。
文件指針操作:
1)使用RAF讀寫基本類型數(shù)據(jù),以及RAF對指針的操作:
int skipBytes(int n):方法可以嘗試跳過輸入的 n 個(gè)字節(jié)以丟棄跳過的字節(jié),返回跳過的實(shí)際字節(jié)數(shù)。如果 n 為負(fù)數(shù),則不跳過任何字節(jié)。
2)寫字符串:
讀字符串: