File類:
File類代表一個(gè)特定的文件或者目錄(文件夾),并提供了若干方法對(duì)該文件或目錄進(jìn)行操作。
File類構(gòu)造方法:
常用的有三種:
1、File(String pathname):通過路徑名創(chuàng)建一個(gè)新File實(shí)例。
2、File(File parent,String child):根據(jù)父目錄路徑File實(shí)例和子目錄或文件路徑創(chuàng)建一個(gè)新File實(shí)例。
3、File(String parent,String child):根據(jù)父目錄路徑和子目錄或文件路徑創(chuàng)建一個(gè)新File實(shí)例。
import?java.io.File;public?class?Work?{ public?static?void?main(String[]?args){ File?file?=?new?File("E:網(wǎng)易有道詞典YoudaoDictguid.dat");?//第一種方式。 System.out.println(file.getPath());?//getPath()返回該file的路徑。 file=new?File(new?File("E:網(wǎng)易有道詞典Youdao"),"Dictguid.dat");?//第二種方式。 System.out.println(file.getPath());‘ file=new?File("E:網(wǎng)易有道詞典YoudaoDict","guid.dat");?//第三種方式。 System.out.println(file.getPath()); }}
輸出:
E:網(wǎng)易有道詞典YoudaoDictguid.dat
E:網(wǎng)易有道詞典YoudaoDictguid.dat
E:網(wǎng)易有道詞典YoudaoDictguid.dat
File類常用方法:
大致有以下幾種:
isDirectory()是否為文件夾
isFile()是否為文件
getPath()得到file的路徑
getName()得到最后一層的名字
getParent()得到去掉最后一層的路徑
getParentFile()得到父類路徑的新文件
renameTo()改名
mkdir()創(chuàng)建新文件夾,只能創(chuàng)建一層
mkdirs()創(chuàng)建新文件夾,可以多層
createNewFile()創(chuàng)建新文件,只能一層
exists()路徑是否存在
delete()刪除文件或者目錄(為空的目錄)
list()返回該路徑下文件或者文件夾的名字?jǐn)?shù)組
listFiles()返回該路徑下文件或者文件夾組成的File數(shù)組
separator代替文件或文件夾路徑的斜線或反斜線,防止跨平臺(tái)出現(xiàn)錯(cuò)誤
詳述方法:
1、isDirectory():判斷此File對(duì)象代表的路徑表示是不是文件夾,只有File對(duì)象代表路徑存在且是一個(gè)目錄時(shí)才返回true,否則返回false。
2、isFile():判斷此File對(duì)象代表的路徑是否是一個(gè)標(biāo)準(zhǔn)文件,只有File對(duì)代表路徑存在且是一個(gè)標(biāo)準(zhǔn)文件時(shí)才返回true,否則返回false。
3、getPath():返回File對(duì)象所表示的字符串路徑。
4、getName():返回此對(duì)象表示的文件或目錄最后一級(jí)文件夾名稱。
5、getParent():返回此File對(duì)象的父目錄路徑名;如果此路徑名沒有指定父目錄,則返回null。
6、getParentFile():返回File對(duì)象所在的父目錄File實(shí)例;如果File對(duì)象沒有父目錄,則返回null。
import?java.io.File;public?class?Work?{ public?static?void?main(String[]?args){ File?file?=?new?File("E:網(wǎng)易有道詞典YoudaoDictguid.dat"); if(file.isDirectory())?//1、判斷該路徑是否為文件夾。 { System.out.println("YES"); }else{ System.out.println("NO"); } if(file.isFile())?//2、判斷該路徑是否為文件。 { System.out.println("yes"); }else{ System.out.println("no"); } System.out.println(file.getPath());?//3、路徑名稱。 System.out.println(file.getName());?//4、最后一層名稱。 System.out.println(file.getParent());?//5、去掉最后一層的路徑名稱。 File?file1?=?file.getParentFile();?//6、返回File實(shí)例,路徑為去掉最后一層的路徑。 System.out.println(file1.getPath()); }}輸出:NOyes
E:網(wǎng)易有道詞典YoudaoDictguid.dat
guid.dat
E:網(wǎng)易有道詞典YoudaoDict
E:網(wǎng)易有道詞典YoudaoDict
7、renameTo():重新命名此File對(duì)象表示的文件,重命名成功返回true,否則返回false。
8、mkdir():創(chuàng)建此File類對(duì)象指定的目錄(文件夾),不包含父目錄。創(chuàng)建成功回true,否則返回false。
9、mkdirs():創(chuàng)建此File對(duì)象指定的目錄,包括所有必需但不存在的父目錄,創(chuàng)建成功返回true;否則返回false。注意,此操作失敗時(shí)也可能已經(jīng)成功地創(chuàng)建了一部分必需的父目錄。
10、createNewFile():如果指定的文件不存在并成功地創(chuàng)建,則返回true;如果指定的文件已經(jīng)存在,則返回false;如果所創(chuàng)建文件所在目錄不存在則創(chuàng)建失敗并出現(xiàn)IOException異常。
11、exists():判斷文件或目錄是否存在。
原先文件夾:
執(zhí)行代碼:
import?java.io.File;import?java.io.IOException;public?class?Work?{ public?static?void?main(String[]?args)?throws?IOException{ File?file?=?new?File("D:TomJim.txt"); System.out.println(file.renameTo(new?File("D:TomJom.txt")));?//7、改名,括號(hào)中必須是File實(shí)例。 Boolean?flag?=?new?File("D:TomLacy").mkdir();?//8、創(chuàng)建一層文件夾。 System.out.println(flag); flag?=?new?File("D:Tomab").mkdirs();?//9、可以創(chuàng)建多層文件夾。 System.out.println(flag); flag?=?new?File("D:Toma.doxc").createNewFile();?//10、創(chuàng)建一層文件。 System.out.println(flag); System.out.println(new?File("D:Toma.doxc").exists());?//11、判斷該文件或者文件夾是否存在。 }}輸出:truetruetruetruetrue
現(xiàn)在文件夾:
12、delete():刪除File類對(duì)象表示的目錄或文件。如果該對(duì)象表示一個(gè)目錄,則該目錄必須為空才能刪除;文件或目錄刪除成功返回true,否則false。
13、list():返回由File對(duì)象對(duì)應(yīng)目錄所包含文件名或文件夾名組成的字符串?dāng)?shù)組。
14、listFiles():返回由當(dāng)前File對(duì)象對(duì)應(yīng)目錄所包含文件路徑或文件夾路徑組成的File類型的數(shù)組。
15、separator:指定文件或目錄路徑時(shí)使用斜線或反斜線來寫,但是考慮到跨平臺(tái),斜線反斜線最好使用File類的separator屬性來表示。
原先文件夾:
import?java.io.File;import?java.io.IOException;public?class?Work?{ public?static?void?main(String[]?args)?throws?IOException{ File?file?=?new?File("D:TomJom.txt"); File?file1?=?new?File("D:"+File.separator+"Tom");??//15、File.separator會(huì)根據(jù)操作系統(tǒng)自動(dòng)生成或者/。 System.out.println(file.delete());?//12、刪除文件或者內(nèi)容為空的文件夾。 String[]?names?=?file1.list();?//13、返回該文件夾下的文件名稱和文件夾名稱。 for?(String?name?:?names)?{ System.out.println(name); } File[]?files?=?file1.listFiles();?//14、返回該文件夾下的文件和文件夾的File實(shí)例數(shù)組。 for?(File?file2?:?files)?{ System.out.println(file2.getPath());//輸出路徑。 } }}輸出:trueaa.doxcLacyD:TomaD:Toma.doxcD:TomLacy
現(xiàn)在文件夾:
以上就是長(zhǎng)沙中公優(yōu)就業(yè)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“詳述java的File類常用方法”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。