您好,登錄后才能下訂單哦!
在 Java 中,File 類是 java.io 包中唯一代表磁盤文件本身的對象。File 類定義了一些與平臺無關的方法來操作文件,File類主要用來獲取或處理與磁盤文件相關的信息,像文件名、 文件路徑、訪問權限和修改日期等,還可以瀏覽子目錄層次結構。
File 類表示處理文件和文件系統的相關信息。也就是說,File 類不具有從文件讀取信息和向文件寫入信息的功能,它僅描述文件本身的屬性。
File(String pathname) 通過將給定路徑名字符串轉換為抽象路徑名來創建一個新 File 實例。
File(String parent,String child) 根據指定的父路徑和文件路徑創建一個新File對象實例
File(File parent,String child) 根據指定的父路徑對象和文件路徑創建一個新的File對象實例
代碼實現過程
/* - File的構造函數 - */ public static void main(String[] args) { //File(String pathname) 將指定路徑名轉換成一個File對象 File file = new File("D:\\1.txt"); System.out.println(file); //File(String parent,String child) 根據指定的父路徑和文件路徑創建File對象 File file1 = new File("D:\\a","1.txt"); System.out.println(file1); //File(File parent,String child) 根據指定的父路徑對象和文件路徑創建File對象 File parent = new File("D:\\a"); File file2 = new File(parent, "1.txt"); System.out.println(file2); File file3 = new File(new File("D:\\a"),"1.txt"); System.out.println(file3); }
運行結果
boolean createNewFile();指定路徑不存在該文件時創建文件,返回true 否則false
boolean mkdir() 當指定的單擊文件夾不存在時創建文件夾并返回true 否則false
boolean mkdirs() 但指定的多級文件夾在某一級文件夾不存在時,創建多級文件夾并返回true 否則false
boolean delete() 刪除文件或者刪除單級文件夾
刪除文件夾,這個文件夾下面不能有其他的文件和文件夾
代碼實現過程
public static void main(String[] args) throws IOException { File file = new File("D:\\a\\1.txt"); File file1 = new File("1.txt"); boolean flag = file1.createNewFile(); System.out.println(flag); File file2 = new File("b"); boolean flag2 = file2.mkdir(); System.out.println(flag); File file3 = new File("c\\d\\e"); boolean d = file1.mkdir(); boolean c = file1.mkdirs(); System.out.println(d); System.out.println(c); File file4 = new File("c.txt"); System.out.println(file4.mkdir()); File file5 = new File("b"); System.out.println(file2.delete()); }
運行結果
boolean exists() 判斷指定路徑的文件或文件夾是否為空
boolean isAbsolute() 判斷當前路徑是否是絕對路徑
boolean isDirectory() 判斷當前的目錄是否存在
boolean isFile() 判斷當前的目錄是否是一個文件
boolean isHidden() 判斷當前路徑是否是一隱藏文件
代碼實現過程
public static void main(String[] args) throws IOException { // method(); // method2(); // method3(); // method4(); } //判斷文件是否存在 public static void method() throws IOException { File file = new File("a.txt"); file.createNewFile(); boolean flag = file.exists(); System.out.println(flag); } //判斷當前路徑是否為絕對路徑 public static void method2() throws IOException{ File file = new File("D:\\a\\1.txt"); boolean flag = file.isAbsolute(); System.out.println(flag); } //判斷當前是文件夾還是文件 public static void method3() throws IOException{ File file = new File("1.txt"); File file1 = new File("b"); file1.mkdir(); boolean flag = file.isDirectory(); boolean flag2 = file1.isFile(); System.out.println(flag); System.out.println(flag2); } //判斷當前路徑是否為隱藏文件 public static void method4() throws IOException{ File file = new File("D:\\a\\1.txt"); System.out.println(file.isHidden()); }
運行結果
method()
method2()
method3()
method4()
File getAbsoluteFile() 獲取文件的絕對路徑,返回File對象
String getAbsolutePath() 獲取文件的絕對路徑,返回路徑的字符串
String getParent() 獲取當前路徑的父級路徑,以字符串形式返回該父級路徑
String getName() 獲取文件或文件夾的名稱
String getPath() 獲取File對象中封裝的路徑
long lastModified() 以毫秒值返回最后修改時間
long length() 返回文件的字節數
boolean renameTo(File dest) 將當前File對象所指向的路徑修改為指定File所指向的路徑
代碼實現過程:
public static void main(String[] args) throws IOException { // method(); // method2(); // method3(); // method4(); } public static void method(){ File file = new File("D:\\a\\1.txt"); File file1 = new File("1.txt"); //以File對象返回的形式返回當前File對象所指向的絕對路徑 System.out.println(file1.getAbsoluteFile()); //返回File對象所指向的絕對路徑 System.out.println(file1.getAbsolutePath()); } public static void method2() throws IOException { File file = new File("a.txt"); File file1 = new File("b","c.txt"); System.out.println(file1.createNewFile()); File parent = new File("b"); File file2 = new File(parent,"c.txt"); if (!parent.exists()){ parent.mkdirs(); } System.out.println(file2.createNewFile()); System.out.println(file2.getParent()); System.out.println(file2.getParentFile()); } public static void method3() throws IOException{ File file = new File("1.txt"); File file1 = new File("D:\\a\\1.txt"); File file2 = new File("b"); System.out.println(file.getName()); System.out.println(file1.getName()); System.out.println(file2.getName()); System.out.println(file.getPath()); System.out.println(file1.getPath()); System.out.println(file2.getPath()); System.out.println(file.lastModified()); Date date = new Date(1556085068524L); System.out.println(date.toLocaleString()); System.out.println(file.length()); System.out.println(file2.length()); } public static void method4() throws IOException{ File file = new File("a.txt"); File file1 = new File("e.txt"); System.out.println(file.renameTo(file1)); }
運行結果
method()
method2()
method3()
method4()
String[] list(); 以字符串的形式返回當前路徑下所有的文件和文件夾的名稱
File[] listFile 以File對象的形式返回當前路徑下的所有文件和文件夾名稱
Static File[] listRoots() 獲取計算機中的所有盤符
代碼實現過程
public static void main(String[] args) { //method(); // method2(); //method3(); } public static void method(){ File file = new File("b"); File file1 = new File("D:\\QQ\\1916247350"); File file2 = new File("e.txt"); String[] files = file1.list(); for (int i=0;i<files.length;i++){ System.out.println(files[i]); } } public static void method2(){ File file = new File("b"); File file1 = new File("D:\\QQ\\1916247350"); File file2 = new File("e.txt"); File[] files = file1.listFiles(); for (File file3 : files) { System.out.println(file3.getName()); } } public static void method3(){ File[] files = File.listRoots(); for (File file : files) { System.out.println(file); } }
運行結果
method()
method2()
method(3)
public static void main(String[] args) { File file = new File("D:\\IDEA\\IDEAprogram"); method(file); } public static void method(File file){ //判斷文件是夠是目錄文件 if (file.isDirectory()){ File[] files = file.listFiles(); for (File file1 : files) { //判斷是否為文件 if (file1.isFile()){ //判斷文件是否是以.java結尾的文件 if (file1.getName().endsWith(".java")){ System.out.println(file1.getName()); } }else if (file1.isDirectory()){ //回調,遍歷file1 method(file1); } } } }
運行結果
public static void main(String[] args) { File file = new File("D:\\a"); method(file); } //刪除指定目錄下的文件 public static void method(File file){ //刪除自己所有的子文件和子目錄 //獲取子文件和子目錄 if (file.isDirectory()){ File[] files = file.listFiles(); for (File file1 : files) { if (file1.isFile()){ System.out.println(file1.getName()); //干掉它 file1.delete(); }else if (file1.isDirectory()){ //繼續查看 method(file1); } } //干掉自己 System.out.println(file.getName()); file.delete(); } }
代碼運行結果
本文介紹了java開發過程中File類的詳細使用方法,更多關于File類使用方法請查看下面的相關鏈接
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。