Java-33 File類
阿新 • • 發佈:2021-10-21
- File類概述:
- 檔案和目錄(資料夾)路徑名的抽象表示形式
- java把電腦中的檔案和資料夾封裝成一個File類,我們可以對檔案和資料夾進行操作
- File是一個與系統無關的類,任何作業系統都可以使用這個方法
- file:檔案 directory:資料夾/目錄 path:路徑
- File的靜態方法
/* file類的靜態方法 */ public class FileDemo1 { public static void main(String[] args) { //static String pathSeparator //與系統相關的路徑分隔符字元,為方便起見,表示為字串。//static char pathSeparatorChar //與系統相關的路徑分隔符。 String pathSeparator = File.pathSeparator; System.out.println(pathSeparator);//: 注:路徑分隔符 windows:分號 Linux:冒號 //static String separator //與系統相關的預設名稱 - 分隔符字元,以方便的方式表示為字串。 //static char separatorChar //與系統相關的預設名稱分隔符。System.out.println(File.separator);// \ 注:檔名分割符 windows:\ linux:/ } }
- File的構造方法
- public File(String pathname)
- public File(String parent,String child)
- public File(File parent,String child)
import java.io.File; /* File類的構造方法: public File(String pathname) public File(String parent,String child) public File(File parent,String child)*/ public class FileDemo2 { public static void main(String[] args) { // public File(String pathname) //相對路徑,絕對路徑,資料夾和檔案都可以,不考慮路徑真假情況 File file1 = new File("D:\\soft\\ideaProject\\src\\com\\shujia\\day1\\day22");//絕對路徑 File file = new File("a.txt");//相對路徑 System.out.println(file1);//D:\soft\ideaProject\src\com\shujia\day1\day22 System.out.println(file);//a.txt // public File(String parent,String child) //根據一個目錄和一個子檔案(目錄)得到一個File物件 //父路徑和子路徑,可以單獨書寫,使用靈活,都可以變化 System.out.println(new File("D:\\soft", "a.txt")); //D:\soft\a.txt System.out.println(new File("D:\\soft", "ideaProject")); //D:\soft\ideaProject //public File(File parent,String child) //根據一個父的File物件和一個子檔案(目錄)得到一個File物件 //父路徑時file型別,可以對父路徑進行一些操作,再使用路徑建立物件 File file2 = new File(file1, "a.txt"); System.out.println(file2); //D:\soft\ideaProject\src\com\shujia\day1\day22\a.txt } }
- File類的成員方法:
- 建立功能
- public boolean createNewFile()
- public boolean mkdir()
- public boolean mkdirs()
- 刪除功能
- public boolean delete()
- 重新命名功能
- public boolean renameTo(File dest)
- 建立功能
import java.io.File; import java.io.IOException; /* 建立功能 public boolean createNewFile() 建立檔案 public boolean mkdir() 建立資料夾 public boolean mkdirs() 建立多級資料夾 */ public class FileDemo3 { public static void main(String[] args) throws IOException { //public boolean createNewFile() //建立一個新的檔案 //如果該檔案已經存在,就不會建立,不會報錯 //想要在指定目錄下建立檔案,前提是該目錄必須存在,否在報錯 File file = new File("D:\\soft\\aa.txt"); System.out.println(file.createNewFile());//true //public boolean mkdir() //在指定目錄下建立資料夾 //如果已經存在了這樣的資料夾,就不會建立了,返回false File file1 = new File("D:\\soft\\aa"); System.out.println(file1.mkdir());//true //public boolean mkdirs() //建立多級資料夾 File file2 = new File("D:\\soft\\aa\\a\\aaaa"); System.out.println(file2.mkdirs());//true System.out.println(file.mkdir());//true //win11中檔案和資料夾的名字不能重複 } }
import java.io.File; import java.io.IOException; /* 刪除功能 public boolean delete() */ public class FileDemo4 { public static void main(String[] args) throws IOException { //在當前專案的根目錄資料夾下建立一個檔案 //相對路徑 File file = new File("D:\\soft\\ideaProject\\src\\com\\shujia\\day1\\day22\\a.txt"); File file1 = new File("shujia\\day1\\day22\\b.txt"); file.createNewFile(); file.delete(); file1.createNewFile(); file1.delete(); //在當前專案的根目錄資料夾下建立多級目錄 File file2 = new File("demo1\\demo2\\demo3"); file2.mkdirs(); file2.delete(); //想要刪除一個資料夾,該資料夾裡面的內容必須是空的 //刪除demo1這個資料夾 File demo1 = new File("demo1"); demo1.delete(); //刪除demo2資料夾 File file3 = new File("demo1\\demo2"); file3.delete(); //再刪除demo1資料夾 demo1.delete(); } }