- 列舉型別
描述一種事物的所有情況|所有可能|所有例項
(1)通過enum關鍵字定義列舉型別
(2)列舉的成員,欄位都作為當前列舉型別的例項存在,預設被public static final修飾
(3)定義的列舉型別都會隱式的繼承自java.lang.Enum 這是所有Java語言列舉型別的公共基類。
(4)在列舉型別中構造器預設私有
(5)java是值傳遞:基本資料型別的資料值,引用資料型別的地址值
2、File 路徑或者檔案的抽象的表現形式
注意:java中路徑的分隔符可以使用: \\ / //
public static void main(String[] args) throws IOException {
//File(String pathname) 通過將給定的路徑名字串轉換為抽象路徑名來建立新的 File例項。
File file1 = new File("D:\\test.txt");
File file2 = new File("D:\\AAA");
File file3 = new File("D:/");
//File(File parent, String child) 從父抽象路徑名和子路徑名字串建立新的 File例項。
File file4 = new File(file3,"test.txt");
////File(String parent, String child) 從父路徑名字串和子路徑名字串建立新的 File例項。
File file5 = new File("D://AAA","BBB");
File file6 = new File("D://haha.txt");
System.out.println(file1);
System.out.println(file2);
System.out.println(file4);
System.out.println(file1.equals(file4));
System.out.println(file2.equals(file5));
System.out.println(file5);
//常用方法
//boolean canWrite() 測試應用程式是否可以修改此抽象路徑名錶示的檔案。
//boolean exists() 測試此抽象路徑名錶示的檔案或目錄是否存在。
//boolean setReadOnly() 標記此抽象路徑名指定的檔案或目錄,以便僅允許讀取操作。
if(file1.exists()){
System.out.println("只讀狀態設定: "+file1.setReadOnly());
System.out.println("判斷檔案file1是否可以編寫 "+file1.canWrite());
}
//boolean createNewFile() 當且僅當具有此名稱的檔案尚不存在時,以原子方式建立由此抽象路徑名命名的新空檔案。
if(!file6.exists()){
System.out.println(file6.createNewFile());
}
//boolean delete() 刪除此抽象路徑名錶示的檔案或目錄。 空資料夾才可以刪除
System.out.println(file6.delete());
System.out.println(file2.delete());
//File getAbsoluteFile() 返回此抽象路徑名的絕對形式。
//String getAbsolutePath() 返回此抽象路徑名的絕對路徑名字串。
System.out.println(file1.getAbsolutePath());
System.out.println(file1.getAbsoluteFile());
//預設相對於當前專案下
File file = new File("test.txt");
System.out.println(file);
System.out.println(file.getAbsolutePath()); //D:\source_s\lesson\java49\0206_常用類\002_code\project_class\test.txt
System.out.println(file.getAbsoluteFile()); //D:\source_s\lesson\java49\0206_常用類\002_code\project_class\test.txt
//long getFreeSpace() 通過此抽象路徑名返回分割槽 named中未分配的位元組數。
System.out.println(file3.getFreeSpace());
//long getTotalSpace() 通過此抽象路徑名返回分割槽 named的大小。
//String getName() 返回此抽象路徑名錶示的檔案或目錄的名稱。
System.out.println(file1.getName());
System.out.println(file5.getName());
//String getParent() 返回此抽象路徑名父項的路徑名字串,如果此路徑名未指定父目錄,則返回 null 。
//File getParentFile() 返回此抽象路徑名父項的抽象路徑名,如果此路徑名未指定父目錄,則返回 null 。
System.out.println(file1.getParent());
System.out.println(file1.getParentFile());
System.out.println(file5.getParent());
System.out.println(file5.getParentFile());
/*
boolean isAbsolute() 測試此抽象路徑名是否為絕對路徑。
boolean isDirectory() 測試此抽象路徑名錶示的檔案是否為目錄。
boolean isFile() 測試此抽象路徑名錶示的檔案是否為普通檔案。
*/
System.out.println(file1.isFile());
System.out.println(file1.isDirectory());
System.out.println(file1.isAbsolute());
//long lastModified() 返回上次修改此抽象路徑名錶示的檔案的時間。
System.out.println(file1.lastModified());
System.out.println(new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(new Date(file1.lastModified())));
//long length() 返回此抽象路徑名錶示的檔案的長度。
System.out.println(file1.length());
//String[] list() 返回一個字串陣列,用於命名此抽象路徑名錶示的目錄中的檔案和目錄。
//File[] listFiles() 返回一個抽象路徑名陣列,表示此抽象路徑名錶示的目錄中的檔案。
File src = new File("D://DDD");
System.out.println(Arrays.toString(src.list()));
File[] files = src.listFiles();
for(File f:files){
System.out.println(f);
}
File file8 = new File("D://haha");
File file9 = new File("D://hehe/heihei/hengheng.txt");
//boole9n mkdir() 建立此抽象路徑名指定的目錄。 一層
System.out.println(file8.mkdir());
//boolean mkdirs() 建立此抽象路徑名指定的目錄,包括任何必需但不存在的父目錄。 多層
System.out.println(file9.getParentFile().mkdirs());
//boolean renameTo(File dest) 重新命名此抽象路徑名錶示的檔案。
//測試 : 跨碟符是否可以實現重新命名???
File file10 = new File("D://test2.txt");
System.out.println(file1.renameTo(file10));
}
}