File類的基本用法
java.io.File類:代表文件和目錄。在開發中,讀取文件、生成文件、刪除文件、修改文件的屬性時經常會用到此類。
File類的常用構造方法:public File(String pathname)
以pathname為路徑創建File對象,如果pathname是相對路徑,則默認的當前路徑在系統屬性user.dir中存儲。
文件的創建
import java.io.File; import java.io.IOException; public class Test { public static void main(String[] args) throws IOException { System.out.println(System.getProperty("user.dir")); //輸出當前工程的絕對路徑 File f1 = new File("a.txt"); //相對路徑,默認目錄在System.out.println(System.getProperty("user.dir")); boolean flag1 = f1.createNewFile(); System.out.println(flag1); File f2 = new File("F:/b.txt"); //絕對路徑 boolean flag2 = f2.createNewFile(); System.out.println(flag2); } }
//輸出 G:\IntelliJ IDEA 2018.2.4\IdeaProjects true true
通過FIle類對象可以訪問文件的屬性:
表8-3 File類訪問屬性的方法列表
通過File對象創建空文件或目錄(在該對象所指的文件或目錄不存在的情況下)
表8-4 File類創建文件或目錄的方法列表
遞歸遍歷目錄的所有文件
import java.io.File; import java.io.IOException; public class Test { public static void main(String[] args) throws IOException { File f1 = new File("E:/系統"); printDir(f1,0); } public static void printDir(File file,int level){ for (int i = 0; i < level; i++) { System.out.print("-"); } System.out.println(file.getName()); if(file.isDirectory()){ //如果是目錄 File files[] = file.listFiles(); //列出當前目錄下的所有文件 for (int i = 0; i < files.length; i++) { //遞歸遍歷當前目錄下的所有文件 printDir(files[i],level+1); } } } }
//輸出 系統 -W10系統 --UserData ---Desktop ----desktop.ini ---desktop.ini ---Documents ----desktop.ini ----My Music ----My Pictures ----My Videos ---Downloads ----desktop.ini ---Favorites ----desktop.ini ---Music ----desktop.ini ---Pictures ----desktop.ini ---Videos ----desktop.ini ---本目錄為用戶數據文件,請勿刪除 --Windsys_Win10_Pro_1709_X64_V1.5_180226_EasyDrv.wim --上帝模式.{ED7BA470-8E54-465E-825C-99712043E01C} -W10系統.rar -Win7(32位).rar -Win7(64位).rar