1.關于java.io.File類
- File類只能表示計算機中的文件或目錄而不能獲取或操作文件
????????- 通過File類獲得到文件的基本信息,如文件名、大小等,但不能獲取文件內容
????????- java中表示文件路徑分隔符使用"/"或"\\"
- File類中的構造方法
????????- File("E:/abc/abc.txt"):根據文件或目錄的具體路徑創建一個文件對象
????????- File("E:\\學習筆記\\Java筆記","Mysql.md"):根據父目錄和文件名創建一個文件對象
????????- File類的常用方法 - File.separator:路徑分隔符,該分隔符會根據不同的操作系統使用不同的分隔符,具有跨平臺性
????????- boolean file.exists():檢測文件或目錄是否存在,如果存在返回true,如果不存在返回false
???????? - String file.getName():獲得文件名
? ? ? ? ?- String file.getAbsolutePath():獲得文件的絕對路徑
? ? ? ? ?- long file.length():獲得文件的大小,返回字節單位
? ? ? ? ?- boolean file.setReadOnly():設置文件為只讀
? ? ? ? ?- boolean file.setWritable(true):設置文件為可寫入
? ? ? ? ?- boolean file.createNewFile():創建文件,該方法只能創建文件,不能創建目錄,如果目錄不存在則報錯
? ? ? ? ?- boolean file.delete():刪除指定文件或目錄,如果中存在內容,則不可刪除
???????? - boolean file.mkdir():創建目錄,該方法只能創建一級目錄,不能創建多級目錄 - boolean file.mkdirs():創建多級目錄
????????- boolean file.isFile():檢測是否為文件,如果是返回true否則返回false
????????- boolean file.isDirectory():檢測是否為目錄,如果是返回true如果不是返回false
????????- String[] file.list():獲得目錄中的直接子文件或子目錄名,返回包含這些名稱的字符串數組
????????- File[] file.listFiles():獲得目錄中所有子文件對象或子目錄對象
????????- File[] File.listRoots():獲得磁盤中的所有盤符
- File[] file.listFiles(FilenameFilter filenameFilter):遍歷目錄中的所有子文件,并設置文件名過濾條件,將符合條件的文件獲得
2.實例
package 文件File;import java.io.File;public class FileDemo1 {public static void main(String[] args) {/*** 創建一個文件對象("e:/io測試文件.txt")* File類中常用的構造方法* 1.根據文件的絕對路徑創建一個File對象* File(String filePath)*/File file=new File("E:\\學習筆記\\Java筆記\\javaSE.md");System.out.println(file);//檢測File對應的文件是否存在if (file.exists()){System.out.println("文件存在");//獲取文件名String fileName=file.getName();System.out.println(fileName);//獲得文件的絕對路徑String filePath=file.getAbsolutePath();System.out.println(filePath);//獲取文件大小、以字節為單位long length = file.length();System.out.println(length);double fileSize=length/1024.0;System.out.println("KB大小:"+fileSize);//設置文件為只讀文件/* boolean isReadOnly = file.setReadOnly();System.out.println(isReadOnly);*/file.setWritable(true);}else {System.out.println("文件不存在");}}
}
package 文件File;import java.io.File;
import java.io.IOException;public class FileDemo2 {public static void main(String[] args) throws IOException {File file=new File("E:\\學習筆記\\Java筆記\\redmw.txt");if (file.exists()){//存在System.out.println("文件存在,文件名為:");System.out.print(file.getName());System.out.println("開始刪除文件.....");boolean isOk = file.delete();System.out.println(isOk?"文件刪除成功":"文件刪除失敗");}else {//不存在System.out.println("文件不存在,開始創建文件....");//創建文件,該方法只能創建文件,不能創建目錄,如果目錄不存在則報錯boolean isOK = file.createNewFile();System.out.println(isOK?"文件創建成功":"文件創建失敗");}}
}
package 文件File;import java.io.File;
import java.io.IOException;public class FileDemo3 {public static void main(String[] args) throws IOException {File file=new File("e:/jiazhong/xian/java");if (file.exists()){System.out.println("目錄存在");boolean isOk = file.delete();System.out.println(isOk?"目錄刪除成功":"目錄刪除失敗");}else {System.out.println("目錄不存在");//不存在,創建文件/*boolean isOk = file.createNewFile();System.out.println(isOk?"文件創建成功":"文件創建失敗");*///創建目錄boolean isOk = file.mkdirs();System.out.println(isOk?"目錄創建成功":"目錄創建失敗");}}
}
package 文件File;import java.io.File;public class FileDemo4 {public static void main(String[] args) {File file=new File("e:"+File.separator+"jiazhong");//檢測file對應的文件是文件還是目錄if (file.isFile()){System.out.println("是文件");}else {System.out.println("不是文件");if (file.isDirectory()){System.out.println("是目錄");}else {System.out.println("不是目錄");}}}
}
package 文件File;import java.io.File;public class FileDemo5 {public static void main(String[] args) {File file=new File("E:\\學習筆記");//獲得目錄中所有子目錄或文件的文件名String[] subFileNames=file.list();for (String fileName:subFileNames){System.out.println(fileName);}System.out.println("========================");//獲得目錄中所有的子文件對象或子目錄對象File[] subFiles = file.listFiles();for (File subFile:file.listFiles()){System.out.println(subFile);}}
}
package 文件File;import java.io.File;public class FileDemo6 {public static void main(String[] args) {File file=new File("E:\\學習筆記\\Java筆記","Mysql.md");if (file.exists()){System.out.println("文件存在");}}
}