java.io.File – JAVA編程語言程序開發技術文章

1、File構造方法
File(File parent, String child) 根據 parent 抽象路徑名和 child 路徑名字符串創建一個新 File 實例。

File(String pathname) 通過將給定路徑名字符串轉換為抽象路徑名來創建一個新 File 實例。

File(String parent, String child) 根據 parent 路徑名字符串和 child 路徑名字符串創建一個新 File 實例。

File(URI uri) 通過將給定的 file: URI 轉換為一個抽象路徑名來創建一個新的 File 實例

 
 

2、File常量
static String
pathSeparator 與系統有關的路徑分隔符,為瞭方便,它被表示為一個字符串。

static char pathSeparatorChar 與系統有關的路徑分隔符。

static String
separator與系統有關的默認名稱分隔符,為瞭方便,它被表示為一個字符串。

static char separatorChar與系統有關的默認名稱分隔符。

 
 
 
 
3、File常用方法
       1) 創建一個新文件
      public boolean createNewFile()throws IOException
      當且僅當不存在具有此抽象路徑名指定名稱的文件時,不可分地創建一個新的空文件
      View Code
1 import java.io.File;
2 import java.io.IOException;
3 public class DeleteFile{
4          public static void main(String[] args){
5                    // 實例化File類的對象
6                    File f = new File("f:"+File.separator+"bchxsx.java");
7                    f.delete();    //刪除文件
8          }
9 }

   2)刪除一個指定文件
             public boolean delete()
             刪除此抽象路徑名表示的文件或目錄。
      View Code
1 import java.io.File;
2 import java.io.IOException;
3 public class DeleteFile{
4          public static void main(String[] args){
5                    // 實例化File類的對象
6                    File f = new File("f:"+File.separator+"bchxsx.java");
7                    f.delete();    //刪除文件
8          }
9 }

   3)判斷文件是否存在
             public boolean exists()
         測試此抽象路徑名表示的文件或目錄是否存在。
      View Code
 1 import java.io.File;
 2 import java.io.IOException;
 3 public class DeleteFile{
 4                     public static void main(String[] args){
 5                             // 實例化File類的對象
 6                            File f = new File("f:"+File.separator+"bchxsx.java");
 7                            if(f.exists())         //判斷文件是否存在
 8                                  f.delete();     //刪除文件
 9                     }
10         }

   4)創建一個文件夾
               public boolean mkdir()
                 創建此抽象路徑名指定的目錄(文件夾)。
      View Code
1 import java.io.File;
2 import java.io.IOException;
3 public class MkdirFile{
4        public static void main(String[] args){
5               // 實例化File類的對象
6               File f = new File("f:"+File.separator+"bchxsx.java");
7               f.mkdir();       //創建文件夾        
8        }
9 }

   5)判斷一個指定的路徑是否是目錄
          public boolean isDirectory()
         測試此抽象路徑名表示的文件是否是一個目錄。
      View Code
 1 import java.io.File;
 2 import java.io.IOException;
 3 public class IsDirectoryFile{
 4          public static void main(String[] args){
 5                    // 實例化File類的對象
 6                    File f = new File("f:"+File.separator+"bchxsx");
 7                    if(f.isDirectory())         
 8                             System.out.println("路徑是目錄");//如果是文件夾(Midir)
 9                    else
10                             System.out.println("路徑不是目錄"); //不是文件夾
11          }
12 }

    6) 列出指定目錄的全部文件www.aiwalls.com
         a、以字符串的形式返回:public String[] list()
       返回一個字符串數組,這些字符串指定此抽象路徑名表示的目錄中的文件和目錄。
      View Code
 1 import java.io.File;
 2 import java.io.IOException;
 3 public class List{
 4       public static void main(String[] args){
 5       File f = new File("f:"+File.separator+"編程小神仙"+File.separator);
 6         String list[] = f.list;
 7         for(int i=0;i<list.length;i++)
 8             System.out.println(list[i]);
 9     }
10 }

       b、以File數組的形式返回public File[] listFiles()
        返回一個抽象路徑名數組,這些路徑名表示此抽象路徑名表示的目錄中的文件。
      View Code
 1 import java.io.File;
 2 import java.io.IOException;
 3 public class ListFiles{
 4     public static void main(String[] args){
 5         File f = new File("f:"+File.separator+"編程小神仙");
 6         String lf[] = f. listFiles;
 7         for(int i=0;i<lf.length;i++)
 8             System.out.println(lf[i]);
 9     }
10 }

      讀取一個文件名稱,如果是目錄,顯示該目錄下的所以文件名稱;如果是文件,顯示文件的內容。
      (兩者的綜合)
      View Code
 1 import java.io.File;
 2 import java.io.FileInputStream;
 3 import java.io.IOException;
 4 import java.io.FileNotFoundException;
 5 import java.io.BufferedInputStream;
 6 public class FileWork{
 7     public static void main(String[] args){
 8                 //File f = new File("d:"+File.separator+"FileWork.java");
 9           File f = new File("d:"+File.separator+"Java_work");
10         if(f.isDirectory()){          //判斷是否是文件的一個目錄(文件夾)
11             System.out.println("路徑是目錄!");
12             String str[] = f.list();
13             for(int i=0;i<str.length;i++){
14                 System.out.println(str[i]);
15             }
16         }else if(f.isFile()){    //判斷是否是標準文件
17             int b = 0;
18             FileInputStream fis =null;
19             BufferedInputStream bis= null;
20             try{
21                 fis = new FileInputStream(f);
22                 bis = new BufferedInputStream(fis);
23                 while((b=bis.read())!=-1){
24                     System.out.print((char)b);
25                 }
26             }catch(FileNotFoundException e){
27                 e.printStackTrace();
28             }
29             catch(IOException e){
30                 e.printStackTrace();
31             }finally{
32                 try{
33                     if(bis!=null){
34                         bis.close();
35                     }   
36                 }catch(IOException e){
37                     e.printStackTrace();
38                 }
39             }
40         }
41     }
42 }

      運用遞歸的方法輸出給定文件目錄下的所有文件
      View Code
 1 //列出指定目錄下的全部內容
 2 import java.io.File;
 3 import java.io.IOException;
 4 public class AllListFile{
 5     public static void aLFile(File file){//遞歸方法
 6         if(file != null){    //判斷當前對象是否為空
 7               if(file.isDirectory()){    //判斷當前對象是否目錄
 8                 File f[] = file.listFiles();//列出當前目錄下的全部的文件
 9                 if(f != null){    //判斷此時目錄是否列出
10                     for(int i=0;i<f.length;i++)
11                         aLFile(f[i]);    //遞歸
12                   }
13             }else{
14                 System.out.println(file);    //輸出路徑
15             }
16         }
17     }
18     public static void main(String[] args){
19         File alfile = new File("f:"+File.separator);//給定的文件路徑
20         aLFile(alfile);
21     }
 

 

摘自   編程小神仙 

發佈留言