第三次学JAVA再学不好就吃翔(part99)--File类
學(xué)習(xí)筆記,僅供參考,有錯必究
文章目錄
- File類
- 構(gòu)造方法
- 舉個例子
- File類創(chuàng)建功能
- 舉個例子
- File類的重命名及刪除功能
- 舉個例子
- 注意事項
- File類的判斷功能
- File類的獲取功能
- 舉個例子
File類
File是java.io包下的一個類,它是文件和目錄路徑名的抽象表示形式。
構(gòu)造方法
- 構(gòu)造方法1
根據(jù) parent 抽象路徑名和 child 路徑名字符串創(chuàng)建一個新 File 實例。
- 構(gòu)造方法2
根據(jù) parent 路徑名字符串和 child 路徑名字符串創(chuàng)建一個新 File 實例。
- 構(gòu)造方法3
通過將給定路徑名字符串轉(zhuǎn)換為抽象路徑名來創(chuàng)建一個新 File 實例。
舉個例子
package com.guiyang.bean;import java.io.File;public class Demo1_File {public static void main(String[] args) {demo1();System.out.println("----------");demo2();System.out.println("----------");File father = new File("C:\\Users\\goatbishop\\Desktop\\data");//封裝為file對象的father, 我們可以使用File類里的方法對其進行慚怍System.out.println(father.exists());String son1 = "data0710.csv";String son2 = "dataTest.csv";File file1 = new File(father, son1);File file2 = new File(father, son2);System.out.println(file1.exists());System.out.println(file2.exists());}private static void demo2() {String father = "C:\\Users\\goatbishop\\Desktop\\data";String son = "data0710.csv";File file = new File(father, son);System.out.println(file.exists());}private static void demo1() {String path = "C:\\Users\\goatbishop\\Desktop\\data\\data0710.csv";File file = new File(path);System.out.println(file.exists());} }
輸出:
true ---------- true ---------- true true falseFile類創(chuàng)建功能
- createNewFile
當(dāng)且僅當(dāng)不存在具有此抽象路徑名指定名稱的文件時,不可分地創(chuàng)建一個新的空文件。檢查文件是否存在,若不存在則創(chuàng)建該文件,這是單個操作,對于其他所有可能影響該文件的文件系統(tǒng)活動來說,該操作是不可分的。 簡而言之,創(chuàng)建文件,如果存在這樣的文件,就不創(chuàng)建了。
- mkdir
創(chuàng)建此抽象路徑名指定的目錄。 簡而言之,創(chuàng)建文件夾,如果存在這樣的文件夾,就不創(chuàng)建了。
- mkdirs
創(chuàng)建此抽象路徑名指定的目錄,包括所有必需但不存在的父目錄。注意,此操作失敗時也可能已經(jīng)成功地創(chuàng)建了一部分必需的父目錄。 簡而言之,創(chuàng)建文件夾,如果父文件夾不存在,會幫我們創(chuàng)建出來
舉個例子
在進行一系列操作之前,先看一下我們項目下的文件及文件夾:
很好,現(xiàn)在我們運行以下代碼:
package com.guiyang.bean;import java.io.File; import java.io.IOException;public class Demo2_File {public static void main(String[] args) throws IOException {File file = new File("yyy.txt");System.out.println(file.createNewFile());//創(chuàng)建文件File file2 = new File("aaa");System.out.println(file2.mkdir());//創(chuàng)建目錄File file3 = new File("bbb\\ccc");//創(chuàng)建多級目錄System.out.println(file3.mkdirs());} }返回:
true true true可以看到,均為true,表示我們創(chuàng)建成功了!
再看一下我們項目文件夾下的情況:
Very Well !
File類的重命名及刪除功能
- renameTo
重新命名此抽象路徑名表示的文件。 簡而言之,把文件重命名為指定的文件路徑。
- delete
刪除此抽象路徑名表示的文件或目錄。如果此路徑名表示一個目錄,則該目錄必須為空才能刪除。 簡而言之,刪除文件或者文件夾。
舉個例子
- 重命名文件
首先查看項目下文件:
將yyy.txt改名為xxx.txt
package com.guiyang.restudy3;import java.io.File;public class D3FileMethod {public static void main(String[] args) {File file1 = new File("yyy.txt");File file2 = new File("xxx.txt");System.out.println(file1.renameTo(file2));}}輸出:
true查看項目下文件夾:
注意!如果我們更改文件路徑,那么就不是重命名了,而是剪切源文件并對其進行改名。
- 刪除文件
輸出:
true此時,我們的項目文件夾下已經(jīng)沒有xxx.txt文件了。
注意!如果要刪除一個文件夾,那么這個文件夾下一定是空的。
注意事項
- Java中的刪除不走回收站;
- 要刪除一個文件夾,請注意該文件夾內(nèi)不能包含文件或者文件夾。
File類的判斷功能
- isDirectory
測試此抽象路徑名表示的文件是否是一個目錄。
- isFile
測試此抽象路徑名表示的文件是否是一個標(biāo)準(zhǔn)文件。如果該文件不是一個目錄,并且滿足其他與系統(tǒng)有關(guān)的標(biāo)準(zhǔn),那么該文件是標(biāo)準(zhǔn)文件。由 Java 應(yīng)用程序創(chuàng)建的所有非目錄文件一定是標(biāo)準(zhǔn)文件。
- exists
測試此抽象路徑名表示的文件或目錄是否存在。
- canRead
測試應(yīng)用程序是否可以讀取此抽象路徑名表示的文件。 簡而言之,是否可讀。
- canWrite
測試應(yīng)用程序是否可以修改此抽象路徑名表示的文件。 簡而言之,是否可寫。
- isHidden
測試此抽象路徑名指定的文件是否是一個隱藏文件。隱藏 的具體定義與系統(tǒng)有關(guān)。在 UNIX 系統(tǒng)上,如果文件名以句點字符 (’.’) 開頭,則認(rèn)為該文件被隱藏。在 Microsoft Windows 系統(tǒng)上,如果在文件系統(tǒng)中文件被標(biāo)記為隱藏,則認(rèn)為該文件被隱藏。
File類的獲取功能
- getAbsolutePath
返回此抽象路徑名的絕對路徑名字符串。簡而言之,獲取絕對路徑
- getPath
將此抽象路徑名轉(zhuǎn)換為一個路徑名字符串。所得字符串使用默認(rèn)名稱分隔符分隔名稱序列中的名稱。簡而言之,獲取構(gòu)造方法中傳入的路徑。
- getName
返回由此抽象路徑名表示的文件或目錄的名稱。該名稱是路徑名名稱序列中的最后一個名稱。如果路徑名名稱序列為空,則返回空字符串。
- length
返回由此抽象路徑名表示的文件的長度。如果此路徑名表示一個目錄,則返回值是不確定的。 簡而言之,獲取文件字節(jié)數(shù)。
- lastModified
獲取最后一次的修改時間,毫秒值.
- list
獲取指定目錄下的所有文件或者文件夾的名稱數(shù)組
- listFiles
獲取指定目錄下的所有文件或者文件夾的File數(shù)組
舉個例子
package com.guiyang.bean;import java.io.File; import java.io.FileNotFoundException; import java.io.FilenameFilter; import java.lang.reflect.Field; import java.sql.Date; import java.sql.Time; import java.text.SimpleDateFormat;import javax.xml.crypto.Data;public class Demo5_FileMethed {public static void main(String[] args) {demo1();System.out.println("--------");String path = "C:\\Users\\goatbishop\\Desktop\\data";File file = new File(path);demo2(file);}private static void demo2(File file) {String[] lsStrings = file.list();for (String string : lsStrings) {System.out.println(string);}System.out.println("--------------");File[] lFiles = file.listFiles();for (File file2 : lFiles) {System.out.println(file2);}}private static void demo1() {File file = new File("C:\\Users\\goatbishop\\Desktop\\data\\data0710.csv");System.out.println(file.getAbsolutePath());System.out.println(file.getPath());System.out.println(file.getName());System.out.println(file.length());System.out.println(file.lastModified());Date time = new Date(file.lastModified());SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");System.out.println(sdf.format(time));} }
輸出:
C:\Users\goatbishop\Desktop\data\data0710.csv C:\Users\goatbishop\Desktop\data\data0710.csv data0710.csv 144140 1594346162292 2020年07月10日09:56:02 -------- .Rhistory data0710.csv PrimaryIndicatorsScore.html PrimaryIndicatorsScore.Rmd score.csv test.R weight.csv 得分.xlsx -------------- C:\Users\goatbishop\Desktop\data\.Rhistory C:\Users\goatbishop\Desktop\data\data0710.csv C:\Users\goatbishop\Desktop\data\PrimaryIndicatorsScore.html C:\Users\goatbishop\Desktop\data\PrimaryIndicatorsScore.Rmd C:\Users\goatbishop\Desktop\data\score.csv C:\Users\goatbishop\Desktop\data\test.R C:\Users\goatbishop\Desktop\data\weight.csv C:\Users\goatbishop\Desktop\data\得分.xlsx總結(jié)
以上是生活随笔為你收集整理的第三次学JAVA再学不好就吃翔(part99)--File类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手工达人耗时2月制造1.8米巨型键盘:可
- 下一篇: 第三次学JAVA再学不好就吃翔(part