您好,登錄后才能下訂單哦!
本文將為大家詳細(xì)介紹“Java IO中File類是什么”,內(nèi)容步驟清晰詳細(xì),細(xì)節(jié)處理妥當(dāng),而小編每天都會更新不同的知識點,希望這篇“Java IO中File類是什么”能夠給你意想不到的收獲,請大家跟著小編的思路慢慢深入,具體內(nèi)容如下,一起去收獲新知識吧。
File 類:文件和目錄路徑名的抽象表示。
注意:File 類只能操作文件的屬性,文件的內(nèi)容是不能操作的。
我們知道,各個平臺之間的路徑分隔符是不一樣的。
①、對于UNIX平臺,絕對路徑名的前綴始終為"/"
。 相對路徑名沒有前綴。 表示根目錄的抽象路徑名具有前綴"/"
和空名稱序列。
②、對于Microsoft Windows平臺,包含驅(qū)動器說明符的路徑名的前綴由后面跟著":"
的驅(qū)動器號組成,如果路徑名是絕對的,則可能后跟"\\"
。 UNC路徑名的前綴為"\\\\"
; 主機(jī)名和共享名稱是名稱序列中的前兩個名稱沒有有指定驅(qū)動器的相對路徑名沒有前綴。
那么為了屏蔽各個平臺之間的分隔符差異,我們在構(gòu)造 File 類的時候(如何構(gòu)造,請看下面第二點),就可以使用上述 Java 為我們提供的字段。
那么我們可以看出:
File.pathSeparator
指的是分隔連續(xù)多個路徑字符串的分隔符
File.separator
是用來分隔同一個路徑字符串中的目錄的
如何使用上述構(gòu)造方法,請看如下例子:
//不使用 Java 提供的分隔符字段,注意:這樣寫只能在 Windows 平臺有效 File f1 = new File("D:\\IO\\a.txt"); //使用 Java 提供的分隔符 File f2 = new File("D:"+File.separator+"IO"+File.separator+"a.txt"); System.out.println(f1);//輸出 D:\IO\a.txt System.out.println(f2);//輸出 D:\IO\a.txt //File(File parent, String child) //從父抽象路徑名和子路徑名字符串創(chuàng)建新的 File實例。 File f3 = new File("D:"); File f4 = new File(f3,"IO"); System.out.println(f4); //D:\IO //File(String pathname) //通過將給定的路徑名字符串轉(zhuǎn)換為抽象路徑名來創(chuàng)建新的 File實例。 File f5 = new File("D:"+File.separator+"IO"+File.separator+"a.txt"); System.out.println(f5); //D:\IO\a.txt //File(String parent, String child) //從父路徑名字符串和子路徑名字符串創(chuàng)建新的 File實例。 File f6 = new File("D:","IO\\a.txt"); System.out.println(f6); //D:\IO\a.txt
1.boolean createNewFile()
不存在返回true 存在返回false
2.boolean mkdir()
創(chuàng)建目錄,如果上一級目錄不存在,則會創(chuàng)建失敗
3.boolean mkdirs()
創(chuàng)建多級目錄,如果上一級目錄不存在也會自動創(chuàng)建
1.boolean delete()
刪除文件或目錄,如果表示目錄,則目錄下必須為空才能刪除
2.boolean deleteOnExit()
文件使用完成后刪除
1.boolean canExecute()
判斷文件是否可執(zhí)行
2.boolean canRead()
判斷文件是否可讀
3.boolean canWrite()
判斷文件是否可寫
4.boolean exists()
判斷文件或目錄是否存在
5.boolean isDirectory()
判斷此路徑是否為一個目錄
6.boolean isFile()
判斷是否為一個文件
7.boolean isHidden()
判斷是否為隱藏文件
8.boolean isAbsolute()
判斷是否是絕對路徑 文件不存在也能判斷
1.String getName()
獲取此路徑表示的文件或目錄名稱
2.String getPath()
將此路徑名轉(zhuǎn)換為路徑名字符串
3.String getAbsolutePath()
返回此抽象路徑名的絕對形式
4.String getParent()
//如果沒有父目錄返回null
5.long lastModified()
//獲取最后一次修改的時間
6.long length()
返回由此抽象路徑名表示的文件的長度。
7.boolean renameTo(File f)
重命名由此抽象路徑名表示的文件。
8.File[] liseRoots()
//獲取機(jī)器盤符
9.String[] list()
返回一個字符串?dāng)?shù)組,命名由此抽象路徑名表示的目錄中的文件和目錄。
10.String[] list(FilenameFilter filter)
返回一個字符串?dāng)?shù)組,命名由此抽象路徑名表示的目錄中滿足指定過濾器的文件和目錄。
//File(File parent, String child) //從父抽象路徑名和子路徑名字符串創(chuàng)建新的 File實例。 File dir = new File("D:"+File.separator+"IO"); File file = new File(dir,"a.txt"); //判斷dir 是否存在且表示一個目錄 if(!(dir.exists()||dir.isDirectory())){ //如果 dir 不存在,則創(chuàng)建這個目錄 dir.mkdirs(); //根據(jù)目錄和文件名,創(chuàng)建 a.txt文件 file.createNewFile(); } //返回由此抽象路徑名表示的文件或目錄的名稱。 這只是路徑名稱序列中的最后一個名字。 如果路徑名的名稱序列為空,則返回空字符串。 System.out.println(file.getName()); //a.txt //返回此抽象路徑名的父null的路徑名字符串,如果此路徑名未命名為父目錄,則返回null。 System.out.println(file.getParent());//D:\IO //將此抽象路徑名轉(zhuǎn)換為路徑名字符串。 結(jié)果字符串使用default name-separator character以名稱順序分隔名稱。 System.out.println(file.getPath()); //D:\IO\a.txt
①、打印給定目錄下的所有文件夾和文件夾里面的內(nèi)容
public static void getFileList(File file){ //第一級子目錄 File[] files = file.listFiles(); for(File f:files){ //打印目錄和文件 System.out.println(f); if(f.isDirectory()){ getFileList(f); } } }
測試:
public static void main(String[] args) throws Exception { File f = new File("D:"+File.separator+"WebStormFile"); getFileList(f); }
感謝您能讀到這里,小編希望您對“Java IO中File類是什么”這一關(guān)鍵問題有了從實踐層面最深刻的體會,具體使用情況還需要大家自己動手實踐使用過才能領(lǐng)會,如果想閱讀更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。