1. 程式人生 > >Java-File類

Java-File類

根據 anon pub one can 基本操作 ica root args

 1 import java.io.File;
 2 import java.io.IOException;
 3 /**
 4  * 文件基本操作
 5  */
 6 public class FileTest {
 7     public static void main(String[] args) {
 8         //根據路徑,創建一個文件對象
 9         File file = new File("E:/printTest.txt");
10         //該文件對象提供了對文件判斷和操作的方法
11         //判斷文件是否存在
12         if(file.exists()) {
13 //文件重命名 14 file.renameTo(new File("E:/print.txt")); 15 //同分區之間的移動 16 file.renameTo(new File("E:/test/print.txt")); 17 //判斷是否為文件 18 Boolean flag = file.isFile(); 19 System.out.println(flag); 20 //判斷是否為文件夾 21 Boolean flag1 = file.isDirectory();
22 System.out.println(flag1); 23 //刪除文件 24 file.delete(); 25 }else { 26 try { 27 //如果不存在該文件,則可以根據路徑創建文件 28 file.createNewFile(); 29 } catch (IOException e) { 30 e.printStackTrace(); 31 }
32 } 33 } 34 }
 1 import java.io.File;
 2 /**
 3  * 文件常用屬性
 4  */
 5 public class FileTest1 {
 6     public static void main(String[] args) {
 7         File file = new File("E:/print.txt");
 8         boolean exists = file.exists();                    //文件是否存在
 9         boolean directory = file.isDirectory();         //是否為文件夾
10         boolean canRead = file.canRead();                 //文件是否可讀
11         boolean canWrite = file.canWrite();             //文件是否可寫
12         String name = file.getName();                    //文件名稱
13         String path = file.getPath();                    //文件路徑
14         String absolutePath = file.getAbsolutePath();    //文件的絕對路徑
15         
16         // 文件的父級路徑
17         // 當創建的file上一級目錄為空時返回null   例如:File file = new File("test.txt");
18         String parent = file.getParent();
19         // 通過以下方式可以獲取文件的絕對路徑,然後在獲取父級路徑
20         String parent2 = new File(absolutePath).getParent();
21 
22         long size = file.length();// byte
23         float size1 = (float)file.length()/1000;// KB
24         // 文件是否被隱藏  linux中文件以.開頭則為隱藏   window中查看文件屬性查看是否隱藏
25         boolean hidden = file.isHidden(); 
26     }
27 }
 1 import java.io.File;
 2 
 3 /**
 4  * 文件讀寫屬性
 5  */
 6 public class FileTest2 {
 7     public static void main(String[] args) {
 8         File file = new File("E:/print.txt");
 9         
10         file.setWritable(true);//設置可寫
11         file.setWritable(false);//設置不可寫
12         
13         file.setReadable(true);//設置可讀
14         file.setReadable(false);//設置不可讀
15         
16         file.setReadOnly();//設置只讀
17     }
18 }
 1 import java.io.File;
 2 /**
 3  * 遍歷文件夾
 4  */
 5 public class FileTest3 {
 6     public static void main(String[] args) {
 7         printFiles(new File("E:/test/"),1);
 8     }
 9     public static void printFiles(File dir,int tab) {
10         if(dir.isDirectory()) {//判斷是否為文件夾
11             File[] listFiles = dir.listFiles();//獲取文件夾中所有的文件
12             //遍歷獲取的所有文件
13             for (int i = 0; i < listFiles.length; i++) {
14                 for (int j = 0; j < tab; j++) {
15                     System.out.print("|--");//目錄結構的分隔符
16                 }
17                 System.out.println(listFiles[i].getName());
18                 //判斷遍歷的元素是否為文件夾,如果是則繼續調用printFiles()方法
19                 if(listFiles[i].isDirectory()) {
20                     printFiles(listFiles[i],tab+1);
21                 }
22             }
23         }
24     }
25 }
 1 import java.io.File;
 2 import java.io.IOException;
 3 import java.nio.file.Path;
 4 
 5 /**
 6  * File類方法介紹
 7  */
 8 public class FileTest4 {
 9     public static void main(String[] args) throws IOException {
10         File file = new File("E:\\test\\");
11         
12         System.out.println(File.separator);//文件的路徑分隔符
13         
14         //路徑操作
15         System.out.println(file.getName());//如果該路徑為文件,則獲取文件名稱,如果是目錄,則獲取目錄名
16         System.out.println(file.getParent());//獲取父級路徑的字符串
17         System.out.println(file.getParentFile());//獲取父級路徑的File對象
18         System.out.println(file.getPath());//獲取抽象路徑為字符串路徑
19         System.out.println(file.toURI());//將抽象路徑轉成uri    file:/E:/test/2/1.txt
20         
21         System.out.println(file.getAbsolutePath());//獲取絕對路徑的字符串路徑,如果抽象路徑不是絕對路徑,則默認添加上工程路徑
22         System.out.println(file.getAbsoluteFile());//獲取絕對路徑後轉成File
23         System.out.println(file.getCanonicalPath());//返回規範路徑字符串格式
24         System.out.println(file.getCanonicalFile());//返回規範路徑File對象
25         
26         //判斷
27         System.out.println(file.isAbsolute());//判斷是否為絕對路徑
28         System.out.println(file.canRead());//判斷是否可讀
29         System.out.println(file.canWrite());//判斷是否可寫
30         System.out.println(file.canExecute());//是否可執行;
31         System.out.println(file.exists());//判斷是否存在
32         System.out.println(file.isDirectory());//判斷是否為目錄
33         System.out.println(file.isFile());//判斷是否為文件
34         System.out.println(file.isHidden());//判斷是否隱藏
35         
36         //文件訪問權限設置
37         file.setReadOnly();//設置文件只讀
38         file.setReadable(true);//設置文件可讀
39         file.setReadable(true, true);//第一個是否可讀,第二個是否只讀
40         file.setWritable(true);//設置文件可寫
41         file.setWritable(true, true);//文件只寫,第一個是否可寫,第二個是否只寫
42         file.setExecutable(true);//設置文件可執行
43         file.setExecutable(true, true);//第一個是否可執行,第二個文件所屬者可執行
44 
45         //最後一次修改時間的獲取和設置
46         System.out.println(file.lastModified());//獲取文件最後修改時間
47         System.out.println(file.setLastModified(123456L));//設置文件最後一次修改時間
48         
49         System.out.println(file.length());//如果是文件,則返回文件內容大小字節數,如果是目錄則返回0
50         
51         //創建目錄
52         file.mkdir();//如果抽象路徑是目錄,則創建該目錄
53         file.mkdirs();//創建多級目錄,包含父級目錄,如果創建失敗,可能已經創建了父級目錄
54         File.createTempFile("aaa", ".temp", file);//指定前綴和後綴,根據File的抽象路徑目錄,創建臨時文件
55         
56         //創建文件和刪除
57         System.out.println(file.createNewFile());//文件不存時根據抽象路徑創建
58         System.out.println(file.delete());//刪除目錄或者文件,如果是文件,則直接刪除,如果是目錄,空目錄則刪除返回true,如果不是空目錄,返回false
59         file.deleteOnExit();//強制刪除,不管目錄下是否為空
60         
61         //獲取抽象路徑下的目錄和文件名稱或者所有的抽象路徑
62         file.list();//返回抽象路徑下所有文件名或者目錄名的字符串數組(接收參數FilenameFilter)
63         file.listFiles();//返回抽象路徑下所有文件或者目錄的抽象路徑File數組(FileFilter或者FilenameFilter)
64         
65         file.renameTo(new File("2"));
66         
67         //文件系統操作
68         File[] listRoots = file.listRoots();  //獲取系統所有根目錄 C:\  D:\  E:\
69         long totalSpace = file.getTotalSpace();//獲取文件所在根目錄總容量
70         long freeSpace = file.getFreeSpace();//獲取文件所在磁盤的可用空間大小
71         long usableSpace = file.getUsableSpace();//獲取文件所在磁盤已經使用的空間大小
72         
73         
74         int compareTo = file.compareTo(new File("E:\\test\\"));//比較兩個目錄,返回0表示路徑相同
75         boolean equals = file.equals(new File("E:\\test\\"));//比較兩個目錄,返回true表示路徑相同,否則返回false
76         
77         file.toString();//返回抽象路徑的字符串路徑,調用的getPath()方法
78         Path path = file.toPath();//抽象路徑轉成Path對象
79     }
80 }

Java-File類