1. 程式人生 > >java中File類的使用方法

java中File類的使用方法

(轉載houfeng30920)http://blog.csdn.net/houfeng30920/article/details/5149685

建構函式

[html] view plain copy  print?在CODE上檢視程式碼片派生到我的程式碼片
  1. public class FileDemo {  
  2.      public static void main(String[] args){  
  3.          //建構函式File(String pathname)  
  4.          File f1 =new File("c:\\abc\\1.txt");  
  5.          //File(String parent,String child)  
  6.          File f2 =new File("c:\\abc","2.txt");  
  7.          //File(File parent,String child)  
  8.          File f3 =new File("c:"+File.separator+"abc");//separator 跨平臺分隔符  
  9.          File f4 =new File(f3,"3.txt");  
  10.          System.out.println(f1);//c:\abc\1.txt  
  11.      }  
  12.  }  

建立方法

1.boolean createNewFile() 不存在返回true 存在返回false
2.boolean mkdir() 建立目錄
3.boolean mkdirs() 建立多級目錄

刪除方法

1.boolean delete()
2.boolean deleteOnExit() 檔案使用完成後刪除

[html] view plain copy  print?在CODE上檢視程式碼片派生到我的程式碼片
  1. import java.io.File;  
  2. import java.io.IOException;  
  3. public class FileDemo2 {  
  4.     public static void main(String[] args){  
  5.         File f =new File("d:\\1.txt");  
  6.         try {  
  7.             System.out.println(f.createNewFile());//當檔案存在時返回false  
  8.             System.out.println(f.delete());//當檔案不存在時返回false  
  9.         } catch (IOException e) {  
  10.             // TODO Auto-generated catch block  
  11.             e.printStackTrace();  
  12.         }  
  13.     }  
  14. }  

判斷方法

1.boolean canExecute()判斷檔案是否可執行
2.boolean canRead()判斷檔案是否可讀
3.boolean canWrite() 判斷檔案是否可寫
4.boolean exists() 判斷檔案是否存在
5.boolean isDirectory() 
6.boolean isFile()
7.boolean isHidden()
8.boolean isAbsolute()判斷是否是絕對路徑 檔案不存在也能判斷

獲取方法

1.String getName()
2.String getPath()
3.String getAbsolutePath()
4.String getParent()//如果沒有父目錄返回null
5.long lastModified()//獲取最後一次修改的時間
6.long length()
7.boolean renameTo(File f)
8.File[] liseRoots()//獲取機器碟符
9.String[] list() 
10.String[] list(FilenameFilter filter)
列出磁碟下的檔案和資料夾

[html] view plain copy  print?在CODE上檢視程式碼片派生到我的程式碼片
  1. public class FileDemo3 {  
  2.      public static void main(String[] args){  
  3.          File[] files =File.listRoots();  
  4.          for(File file:files){  
  5.              System.out.println(file);  
  6.              if(file.length()>0){  
  7.                  String[] filenames =file.list();  
  8.                  for(String filename:filenames){  
  9.                      System.out.println(filename);  
  10.                  }  
  11.              }  
  12.          }  
  13.      }  
  14.  }  

檔案過濾
[html] view plain copy  print?在CODE上檢視程式碼片派生到我的程式碼片
  1. import java.io.File;  
  2.  import java.io.FilenameFilter;  
  3.  public class FileDemo4 {  
  4.      public static void main(String[] args){  
  5.          File[] files =File.listRoots();  
  6.          for(File file:files){  
  7.              System.out.println(file);  
  8.              if(file.length()>0){  
  9.                  String[] filenames =file.list(new FilenameFilter(){  
  10.                      //file 過濾目錄 name 檔名  
  11.                      public boolean accept(File file,String filename){  
  12.                          return filename.endsWith(".mp3");  
  13.                      }  
  14.                  });  
  15.                  for(String filename:filenames){  
  16.                      System.out.println(filename);  
  17.                  }  
  18.              }  
  19.          }  
  20.      }  
  21.  }  

File[]  listFiles()

File[] listFiles(FilenameFilter filter)

利用遞迴列出全部檔案

程式碼如下: [html] view plain copy  print?在CODE上檢視程式碼片派生到我的程式碼片
  1. public class FileDemo5 {  
  2.     public static void main(String[] args){  
  3.         File f =new File("e:\\音樂");  
  4.         showDir(f);  
  5.     }  
  6.     public static void showDir(File dir){  
  7.         System.out.println(dir);  
  8.         File[] files =dir.listFiles();  
  9.         for(File file:files){  
  10.             if(file.isDirectory())  
  11.                 showDir(file);  
  12.             else  
  13.                 System.out.println(file);  
  14.         }  
  15.     }  
  16. }  

移動檔案

找出d盤下所有的 .java 檔案,拷貝至 c:\jad 目錄下,並將所有檔案的型別由.java 修改為.jad 。

[html] view plain copy  print?在CODE上檢視程式碼片派生到我的程式碼片
  1. public class Test5 {  
  2.     public static void main(String[] args){  
  3.         File f1 = new File("d:\\");  
  4.         moveFile(f1);  
  5.     }public static void moveFile(File dir){  
  6.     File[] files=dir.listFiles();  
  7.     for(File file:files){  
  8.         if(file.isDirectory())  
  9.             moveFile(file);  
  10.         else{  
  11.             if(file.getName().endsWith(".java"))  
  12.                 file.renameTo(new File("c:\\jad\\"+  
  13.             file.getName().substring(0,file.getName().lastIndexOf('.'))+".jad"));  
  14.             }  
  15.         }  
  16.     }  
  17. }