標籤:
File類提供對針對目錄和檔案的讀寫改等一系列操作方法
建立:
public class FileDemo01 { public static void main(String[] args) { try { // 建立檔案 File file = new File("fileName.txt"); if (file.createNewFile()) { System.out.println("建立成功"); } else { System.out.println("建立失敗"); } // 建立檔案夾 File dir = new File("dirName"); if (dir.mkdir()) { System.out.println("建立成功"); } else { System.out.println("建立不成功"); } // 建立多層目錄 File dirs = new File("firstDir\\secondDir\\thirdDir"); if (dirs.mkdirs()) { System.out.println("建立成功"); } else { System.out.println("建立不成功"); } } catch (IOException e) { e.printStackTrace(); } }}
刪除
public class FileDemo01 { public static void main(String[] args) { // 刪除檔案 File fileName = new File("D:\\Java_workspace\\HelloFile\\fileName.txt"); if (fileName.delete()) { System.out.println("刪除成功"); } else { System.out.println("刪除失敗"); } // 刪除目錄,需要該目錄為空白 File dir = new File( "D:\\Java_workspace\\HelloFile\\firstDir\\secondDir\\thirdDir"); if (dir.delete()) { System.out.println("刪除成功"); } else { System.out.println("刪除失敗"); } // 退出時刪除目錄 File dir2 = new File( "D:\\Java_workspace\\HelloFile\\firstDir\\secondDir"); dir2.deleteOnExit(); }}
重新命名
public class FileDemo01 { public static void main(String[] args) throws IOException { File oldFile = new File("C:\\name1.txt"); File newFile = new File("C:\\name2.txt"); // 判斷檔案是否存在,如果不存在,則建立,如果存在,則提示 if (!oldFile.exists()) { oldFile.createNewFile(); System.out.println("建立成功"); } else { System.out.println("檔案已經存在"); } // 如果重新命名成功,提示成功,否則提示失敗 if (oldFile.renameTo(newFile)) { System.out.println("重新命名成功"); } else { System.out.println("重新命名失敗"); } }}
其實renameTo()方法還可以移動檔案夾,但是在windows下會有很多問題,慎用,詳情詳情點擊:http://xiaoych.iteye.com/blog/149328
其他方法
public class FileDemo01 { public static void main(String[] args) throws IOException { File folder = new File("D:/test/Directory1/Directory11"); File file = new File("D:/test/Directory1/Directory11/File111.txt"); // System.out.println(folder.mkdirs()); // System.out.println(file.createNewFile()); /** * 擷取File對象的名稱或者路徑 返回String * 輸出結果: * 對象名稱:Directory11 * 對象名稱:File111.txt * */ System.out.println("對象名稱:" + folder.getName()); System.out.println("對象名稱:" + file.getName()); /** * 擷取File對象的絕對路徑 返回String * 輸出結果: * 絕對路徑:D:\test\Directory1\Directory11 * 絕對路徑:D:\test\Directory1\Directory11\File111.txt */ System.out.println("絕對路徑:" + folder.getAbsolutePath()); System.out.println("絕對路徑:" + file.getAbsolutePath()); /** * 擷取File對象的路徑名稱 返回String * 輸出結果: * 路徑名稱:D:\test\Directory1\Directory11 * 路徑名稱:D:\test\Directory1\Directory11\File111.txt */ System.out.println("路徑名稱:" + folder.getPath()); System.out.println("路徑名稱:" + file.getPath()); /** * 擷取File對象的父目錄 返回String * 輸出結果: * 父目錄名:D:\test\Directory1 * 父目錄名:D:\test\Directory1\Directory11 */ System.out.println("父目錄名:" + folder.getParent()); System.out.println("父目錄名:" + file.getParent()); /** * 查看File對象是否存在 返回boolean * 輸出結果: * true */ System.out.println(folder.exists()); /** * 查看File對象是否可讀可寫 返回boolean * 返回結果: * 可讀 * 可寫 */ if (file.canRead()) { System.out.println("可讀"); } if (file.canWrite()) { System.out.println("可寫"); } /** * 查看File對象的長度 返回long * 輸出結果 * 0kb */ System.out.println(file.length() + "kb"); /** * 返回目錄所有子檔案和子目錄數組 返回File[] * 輸出結果: * Directory1 * Directory2 * Directory3 */ File newFile = new File("D:/test"); File[] fileList = newFile.listFiles(); for (int i = 0; i < fileList.length; i++) { System.out.println(fileList[i].getName()); } }}
JAVA筆記整理(十),JAVA中的File