A
File類
Java.io.File用于表示文件或者目錄雾消,也就是說(shuō)程序員可以通過(guò)File類在程序中操作硬盤(pán)的文件和目錄
File類只用于表示文件(目錄)的信息(名稱桑寨、大小邀杏、路徑等),不能對(duì)文件的內(nèi)容進(jìn)行訪問(wèn)温数。
構(gòu)造方法:--File(String pathname);
--通過(guò)將給定的路徑名字符串轉(zhuǎn)換成抽象路徑名來(lái)創(chuàng)建一個(gè)新的File示例。
--File(File f性穿,String fileName)
路徑:從某點(diǎn)出發(fā)到達(dá)目標(biāo)位置所經(jīng)歷的路線;
---相對(duì)路徑:從當(dāng)前位置出發(fā)到達(dá)目標(biāo)文件(目錄)所經(jīng)歷的路勁雷滚,稱為相對(duì)路徑需曾。
如:JAVASE\bin\day01
---絕對(duì)路徑:從文件系統(tǒng)頂端出發(fā)到達(dá)目標(biāo)文件(目錄)所經(jīng)歷的路徑,稱為絕對(duì)路徑。
如:D:\JAVASE\bin\day01
---抽象路徑盡量使用相對(duì)路徑呆万,并且目錄直接的分割不要用”/“”\“,應(yīng)該用File.separator這個(gè)常量表示商源,以避免不同系統(tǒng)帶來(lái)的差異。
File類常用API
--exists():判斷當(dāng)前目錄文件是否存在谋减,如果存在返回true牡彻,反之返回false。
--isFile():判斷當(dāng)前File對(duì)象所表示的是否是一個(gè)文件出爹,如果是返回true庄吼,反之返回false。
--length():表示當(dāng)前File對(duì)象表示的文件所占字節(jié)量严就。
--createNewFile():如果指定的文件不存在并成功創(chuàng)建总寻,返回值就是true,如果指定的文件已經(jīng)存在盈蛮,則返回false废菱。
--delete():刪除文件。
--mkedir():創(chuàng)建此抽象路徑名指定的目錄[創(chuàng)建一層目錄](méi)抖誉。
--mkedirs():用于創(chuàng)建抽象路徑名指定的目錄殊轴,包括所有但不存在的父目錄。
--isDirectory():判斷當(dāng)前File對(duì)象是否是文件夾袒炉。
當(dāng)用delete()方法去刪除目錄時(shí)旁理,要確保刪除的目錄里不包含其他子項(xiàng)。
listFiles():返回值:當(dāng)前File對(duì)象子項(xiàng)構(gòu)成的數(shù)組我磁;如果目錄為空孽文,那數(shù)組也將為空,如果抽象路徑名不表示一個(gè)目錄或者發(fā)生了I/O異常夺艰,則返回值為null
FileFilter接口:用于抽象路徑名的過(guò)濾器芋哭。用于返回滿足該過(guò)濾器要求的子項(xiàng)。
RandomAccessFile類
java提供的此類可以對(duì)文件隨機(jī)訪問(wèn)操作郁副,訪問(wèn)就包括讀寫(xiě)操作减牺,該操作是基于指針的。
構(gòu)造方法:RandomAccessFile(File file存谎,String mode)拔疚;
--RandomAccessFile(String filename,String mode)既荚;
--其中第一個(gè)參數(shù)是表示需要訪問(wèn)的文件稚失;第二個(gè)參數(shù)是訪問(wèn)模式:
訪問(wèn)模式:--"r":表示對(duì)該文件的訪問(wèn)是只讀;
--“rw”表示對(duì)該文件即可讀也可以寫(xiě)
void write(int d)恰聘;該方法會(huì)根據(jù)當(dāng)前指針?biāo)谖恢锰帉?xiě)入一個(gè)字節(jié)句各,是將參數(shù)d的“低8位”寫(xiě)出吸占。
int read():該方法會(huì)從文件中讀取一個(gè)byte(8位)填充到int的低8位高的24位都默認(rèn)為0;如果read()讀取的結(jié)果返回是-1诫钓,表示讀取到了文件末尾旬昭!每次讀取之后會(huì)自動(dòng)移動(dòng)文件指針篙螟,準(zhǔn)備下次讀取菌湃。
write(byte[] d):該方法會(huì)根據(jù)擋墻指針?biāo)谖恢锰幾x寫(xiě)處給定數(shù)組中的所有字節(jié)
write(byte[],int offset,int len):該方法會(huì)根據(jù)當(dāng)前指針?biāo)谖恢锰庍B續(xù)寫(xiě)出給定數(shù)組中的部分字節(jié),這個(gè)部分字節(jié)是從數(shù)組的offset處開(kāi)始遍略,連續(xù)len個(gè)字節(jié)惧所。
int read(byte[] b)該方法會(huì)從指針處嘗試最多讀取給定數(shù)組的總長(zhǎng)度的字節(jié)量,并從給定的字節(jié)數(shù)組第一個(gè)位置開(kāi)始绪杏,將渠道的字節(jié)順序存放到數(shù)組下愈,返回值為實(shí)際讀到的字節(jié)量。
long getFilePointer():該方法用于獲取RandomAccessFile對(duì)象的指針位置蕾久。
seek(long pos):該方法用于移動(dòng)當(dāng)前RandomAccessFile對(duì)象的指針位置
skipBytes(int n):嘗試著跳過(guò)輸入的n個(gè)字節(jié)势似。返回為跳過(guò)的實(shí)際字節(jié)書(shū)。