File類的基本用法


  java.io.File類:代表文件和目錄。 在開發中,讀取文件、生成文件、刪除文件、修改文件的屬性時經常會用到本類。

File類的常見構造方法:public File(String pathname)

     以pathname為路徑創建File對象,如果pathname是相對路徑,則默認的當前路徑在系統屬性user.dir中存儲,如示例所示。

【示例】文件的創建

1
2
3
4
5
6
7
8
9
10
import  java.io.File;
public  class  TestFile1 {
     public  static  void  main(String[] args)  throws  Exception {
         System.out.println(System.getProperty( "user.dir" ));
         File f =  new  File( "a.txt" );  //相對路徑:默認放到user.dir目錄下面
         f.createNewFile(); //創建文件
         File f2 =  new  File( "d:/b.txt" ); //絕對路徑
         f2.createNewFile();
     }
}

     在eclipse項目開發中,user.dir就是本項目的目錄。因此,執行完畢后,在本項目和D盤下都生成了新的文件(如果是eclipse下,一定按F5刷新目錄結構才能看到新文件)。如圖所示。

圖8-22 本項目目錄中新增文件效果.png

 

通過File對象可以訪問文件的屬性:

表8-3 File類訪問屬性的方法列表

表8-3 File類訪問屬性的方法列表.png

【示例】測試File類訪問屬性的基本用法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import  java.io.File;
import  java.util.Date;
public  class  TestFile2 {
     public  static  void  main(String[] args)  throws  Exception {
         File f =  new  File( "d:/b.txt" );
         System.out.println( "File是否存在:" +f.exists());
         System.out.println( "File是否是目錄:" +f.isDirectory());
         System.out.println( "File是否是文件:" +f.isFile());
         System.out.println( "File最后修改時間:" + new  Date(f.lastModified()));
         System.out.println( "File的大小:" +f.length());
         System.out.println( "File的文件名:" +f.getName());
         System.out.println( "File的目錄路徑:" +f.getPath());
     }
}

      執行結果如圖所示:

圖8-23 示例8-22運行效果圖.png

 

通過File對象創建空文件或目錄(在該對象所指的文件或目錄不存在的情況下)

表8-4 File類創建文件或目錄的方法列表

表8-4 File類創建文件或目錄的方法列表.png

【示例】使用mkdir創建目錄

1
2
3
4
5
6
7
8
9
10
11
import  java.io.File;
public  class  TestFile3 {
     public  static  void  main(String[] args)  throws  Exception {
         File f =  new  File( "d:/c.txt" );
         f.createNewFile();  // 會在d盤下面生成c.txt文件
         f.delete();  // 將該文件或目錄從硬盤上刪除
         File f2 =  new  File( "d:/電影/華語/大陸" );
         boolean  flag = f2.mkdir();  //目錄結構中有一個不存在,則不會創建整個目錄樹
         System.out.println(flag); //創建失敗
     }
}

      執行結果如圖所示:

圖8-24 示例8-23運行效果圖.png

 

【示例】使用mkdirs創建目錄

1
2
3
4
5
6
7
8
9
10
11
import  java.io.File;
public  class  TestFile4 {
     public  static  void  main(String[] args)  throws  Exception {
         File f =  new  File( "d:/c.txt" );
         f.createNewFile();  // 會在d盤下面生成c.txt文件
         f.delete();  // 將該文件或目錄從硬盤上刪除
         File f2 =  new  File( "d:/電影/華語/大陸" );
         boolean  flag = f2.mkdirs(); //目錄結構中有一個不存在也沒關系;創建整個目錄樹
         System.out.println(flag); //創建成功
     }
}

      執行結果如圖所示:

圖8-25 示例8-24運行效果圖.png

 

【示例】File類的綜合應用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import  java.io.File;
import  java.io.IOException;
public  class  TestFile5 {
     public  static  void  main(String[] args) {
         //指定一個文件
         File file =  new  File( "d:/sxt/b.txt" );
         //判斷該文件是否存在
         boolean  flag= file.exists();
         //如果存在就刪除,如果不存在就創建
         if (flag){
             //刪除
             boolean  flagd = file.delete();
             if (flagd){
                 System.out.println( "刪除成功" );
             } else {
                 System.out.println( "刪除失敗" );
             }
         } else {
             //創建
             boolean  flagn =  true ;
             try  {
                 //如果目錄不存在,先創建目錄
                 File dir = file.getParentFile();
                 dir.mkdirs();
                 //創建文件
                 flagn = file.createNewFile();
                 System.out.println( "創建成功" );
             catch  (IOException e) {
                 System.out.println( "創建失敗" );
                 e.printStackTrace();
             }          
         }
         //文件重命名(同學可以自己測試一下)
         //file.renameTo(new File("d:/readme.txt"));
     }
}

      第一次執行結果如圖所示:

圖8-26 示例8-25第一次運行效果圖.png

 

      第二次執行結果如圖所示:

圖8-27 示例8-25第二次運行效果圖.png


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM