Java.io.File类主要是完成了文件夹管理的命名、查询文件属性和处理目录等到操作它不进行文件夹内容的读取操作。以下描述了File类的主要常用方法。 



File():构造函数,一般是依据文件所在的指定位置来创建文件对象。  


CanWrite():返回文件是否可写。  


CanRead():返回文件是否可读。 


CompareTo(File pathname):检查指定文件路径间的顺序。 


Delet():从文件系统内删除该文件。 


DeleteOnExit():程序顺利结束时从系统中删除文件。 


Equals(Object obj):检查特定对象的路径名是否相等。 


Exists():判断文件夹是否存在。 


GetAbsoluteFile():返回文件的完整路径。 


GetAbsolutePath():返回文件的完整路径。 


GetName():返回文件名称。 


GetParent():返回文件父目录路径。 


GetPath():返回文件的潜在相对路径。 


GetParentFile():返回文件所在文件夹的路径。 


HashCode():返回文件哈希码。 


IsDirectory():判断该路径指示的是否是文件。 


IsFile():判断该路径指示的是否是文件。 


LastModified() :返回文件的最后修改时间标志。 


Length():返回文件长度。 


List():返回文件和目录清单。 


Mkdir():生成指定的目录。 


RenameTo(File dest):更名文件。 


SetReadOnly():将文件设置为可读。 


ToString():返回文件状态的字符串。 


ToURL():将文件的路径字符串转换成URL 



File.GetCreationTime 读取创建时间 


file.SetCreationTime 设置创建时间 


File.GetLastAccessTime   读取最后访问时间 


File.SetLastAccessTime   设置最后访问时间 


File.GetLastWriteTime 读取最后修改时间 


File.SetLastWriteTime 设置最后修改时间 


File.GetAttributes 读取文件属性 


File.SetAttributes 设置文件属性


转载网址2:http://www.jb51.net/article/36126.htm

构造函数


代码如下:


public class FileDemo { 
 
      public static void main(String[] args){ 
 
          //构造函数File(String pathname) 
 
          File f1 =new File("c:\\abc\\1.txt"); 
 
          //File(String parent,String child) 
 
          File f2 =new File("c:\\abc","2.txt"); 
 
          //File(File parent,String child) 
 
          File f3 =new File("c:"+File.separator+"abc");//separator 跨平台分隔符 
 
          File f4 =new File(f3,"3.txt"); 
 
          System.out.println(f1);//c:\abc\1.txt 
 

      } 
 

  }


创建方法

1.boolean createNewFile() 不存在返回true 存在返回false
2.boolean mkdir() 创建目录
3.boolean mkdirs() 创建多级目录

删除方法

1.boolean delete()
2.boolean deleteOnExit() 文件使用完成后删除


代码如下:


判断方法

import java.io.File; 
 
 import java.io.IOException; 
  
 public class FileDemo2 {
     public static void main(String[] args){
         File f =new File("d:\\1.txt");
         try {
             System.out.println(f.createNewFile());//当文件存在时返回false
             System.out.println(f.delete());//当文件不存在时返回false
         } catch (IOException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
         }
     }
 }

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)
列出磁盘下的文件和文件夹


代码如下:


public class FileDemo3 { 
 
      public static void main(String[] args){ 
 
          File[] files =File.listRoots(); 
 
          for(File file:files){ 
 
              System.out.println(file); 
 
              if(file.length()>0){ 
 
                  String[] filenames =file.list(); 
 
                  for(String filename:filenames){ 
 
                      System.out.println(filename); 
 
                  } 
 
              } 
 
          } 
 
      } 
 

  }



文件过滤


代码如下:

File[]  listFiles()

import java.io.File; 
 
  import java.io.FilenameFilter; 
 
  public class FileDemo4 { 
 
      public static void main(String[] args){ 
 
          File[] files =File.listRoots(); 
 
          for(File file:files){ 
 
              System.out.println(file); 
 
              if(file.length()>0){ 
 
                  String[] filenames =file.list(new FilenameFilter(){ 
 
                      //file 过滤目录 name 文件名 
 
                      public boolean accept(File file,String filename){ 
 
                          return filename.endsWith(".mp3"); 
 
                      } 
 
                  }); 
 
                  for(String filename:filenames){ 
 
                      System.out.println(filename); 
 
                  } 
 
              } 
 
          } 
 
      } 
 

  }

File[] listFiles(FilenameFilter filter)

利用递归列出全部文件


代码如下


移动文件

public class FileDemo5 { 
 
     public static void main(String[] args){ 
 
         File f =new File("e:\\音樂"); 
 
         showDir(f); 
 
     } 
 
     public static void showDir(File dir){ 
 
         System.out.println(dir); 
 
         File[] files =dir.listFiles(); 
 
         for(File file:files){ 
 
             if(file.isDirectory()) 
 
                 showDir(file); 
 
             else  
 
                 System.out.println(file); 
 
         } 
 
     } 
  
 }

找出d盘下所有的 .java 文件,拷贝至 c:\jad 目录下,并将所有文件的类型由.java 修改为.jad 。


代码如下

public class Test5 { 
 
     public static void main(String[] args){ 
 
         File f1 = new File("d:\\"); 
 
         moveFile(f1); 
 
     } 
  
 public static void moveFile(File dir){
     File[] files=dir.listFiles();
     for(File file:files){
         if(file.isDirectory())
             moveFile(file);
         else{
             if(file.getName().endsWith(".java"))
                 file.renameTo(new File("c:\\jad\\"+
             file.getName().substring(0,file.getName().lastIndexOf('.'))+".jad"));
             }
         }
     }
 }