File:它是文件和目錄路徑名的抽象表示
- 文件和目錄是可以通過File封裝成對象的
- 對於File而言,其封裝的並不是一個真正存在的文件,僅僅是一個路徑名而已。它是可以存在的,也可以是不存在的。將來是要通過具體的操作把這個路徑的內容轉換爲具體存在的
目錄:
1、File類構造方法
2、File類創建功能
3、File類判斷與獲取功能
4、File類的刪除功能
1、File類構造方法
-
public File(String pathname) {}
:通過將給定的路徑名字符轉換爲抽象路徑名來創建新的File實例 -
public File(String parent, String child) {}
:從父路徑名字符串和子路徑名字符串創建新的File實例 -
public File(File parent, String child) {}
:從父抽象路徑名和子路徑名字符串創建新的File實例
//範例:
import java.io.File;
public class FileDemo {
public static void main(String[] args) {
//public File(String pathname) {}:通過將給定的路徑名字符轉換爲抽象路徑名來創建新的File實例
File f1 = new File("F:\\02-silu\\KETTLE_TEST");
System.out.println(f1);
//F:\02-silu\KETTLE_TEST
// public File(String parent, String child) {}:從父路徑名字符串和子路徑名字符串創建新的File實例
File f2 = new File("F:\\02-silu","KETTLE_TEST");
//F:\02-silu\KETTLE_TEST
//public File(File parent, String child) {}:從父抽象路徑名和子路徑名字符串創建新的File實例
File f3 = new File("F:\\02-silu");
File f4 = new File(f3,"KETTLE_TEST");
System.out.println(f4);
//F:\02-silu\KETTLE_TEST
}
}
2、File類創建功能
-
public boolean createNewFile(){}
:當具有該名稱的文件不存在時,創建一個由該抽象路徑命名的新空文件 -
public boolean mkdir() {}
:創建由此抽象路徑命名的目錄 -
public boolean mkdirs() {}
:創建由此抽象路徑命名的目錄,包括任何必需但不存在的目錄
如果目錄不存在就創建目錄,並返回true
如果目錄存在就不創建目錄,並返回false
import java.io.IOException;
public class FileDemo {
public static void main(String[] args) throws IOException {
//1、需求1:在F:\02-silu\KETTLE_TEST目錄下創建一個,java.txt文件
File f1 = new File("F:\\02-silu\\KETTLE_TEST\\java.txt");
System.out.println(f1.createNewFile());
//2、需求2:在F:\02-silu\KETTLE_TEST目錄下創建一個,javase目錄
File f2 = new File("F:\\02-silu\\KETTLE_TEST\\javase");
System.out.println(f2.mkdir());
//3、需求3:在F:\02-silu\KETTLE_TEST目錄下創建一個多級目錄,javaWEB\\HTML
File f3 = new File("F:\\02-silu\\KETTLE_TEST\\javaWEB\\HTML");
System.out.println(f3.mkdirs());
}
}
3、File類判斷與獲取功能
-
public boolean isDirectory() {}
:測試此抽象路徑名錶示的File是否爲目錄 -
public boolean isFile() {}
:測試此抽象路徑名錶示的File是否爲文件 -
public boolean exists() {}
:測試此抽象路徑名錶示的File是否存在 -
public String getAbsolutePath() {}
:返回此抽象路徑名的絕對路徑名字符串 -
public String getPath() {}
:返回將此抽象路徑名轉換爲路徑名字符串 -
public String getName() {}
:返回由此抽象路徑名錶示的文件或目錄的名稱 -
public String[] list() {}
:返回此抽象路徑表示的目錄中的文件和目錄的名稱字符串數組 -
public File[] listFiles() {}
:返回此抽象路徑表示的目錄中的文件和目錄的File對象數組
import java.io.File;
import java.io.IOException;
public class FileDemo {
public static void main(String[] args) throws IOException {
//1、需求1:在F:\02-silu\KETTLE_TEST目錄下創建一個,java.txt文件
File f1 = new File("F:\\02-silu\\KETTLE_TEST\\java.txt");
// public boolean isDirectory() {}:測試此抽象路徑名錶示的File是否爲目錄
// public boolean isFile() {}:測試此抽象路徑名錶示的File是否爲文件
// public boolean exists() {}:測試此抽象路徑名錶示的File是否存在
System.out.println(f1.isDirectory()); //false
System.out.println(f1.isFile()); //true
System.out.println(f1.exists()); //true
// public String getAbsolutePath() {}返回此抽象路徑名的絕對路徑名字符串
// public String getPath() {}:返回將此抽象路徑名轉換爲路徑名字符串
// public String getName() {}:返回由此抽象路徑名錶示的文件或目錄的名稱
System.out.println(f1.getAbsolutePath());//F:\02-silu\KETTLE_TEST\java.txt
System.out.println(f1.getPath());//F:\02-silu\KETTLE_TEST\java.txt
System.out.println(f1.getName());//java.txt
System.out.println("----------------");
// public String[] list() {}:返回此抽象路徑表示的目錄中的文件和目錄的名稱字符串數組
// public File[] listFiles() {}
File f2 = new File("F:\\02-silu\\KETTLE_TEST\\javaWEB");
String[] list = f2.list();
for (String s : list) {
System.out.println(s);
}
// public File[] listFiles() {}
System.out.println("---------------------");
File[] files = f2.listFiles();
for (File file : files) {
System.out.println(file);
}
System.out.println("---------------------");
for (File file : files) {
System.out.println(file.getName());
}
}
4、File類的刪除功能
- public boolean delete() {}:刪除由此抽象路徑名錶示的文件或目錄
範例:
刪除目錄時注意事項:
如果一個目錄中有內容(目錄,文件),不能直接刪除。應該先刪除目錄中的內容,最後才能刪除目錄