Java File 类的使用方法详解

y37f 10年前

Java File类的功能非常强大,利用Java基本上可以对文件进行所有的操作。本文将对Java File文件操作类进行详细地分析,并将File类中的常用方法进行简单介绍,有需要的Java开发者可以看一下。

构造函数

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);                   }               }           }       }     }

文件过滤

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()

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"));              }          }      }  }

以上就是Java File类的全部属性和方法,我们只需简单地调用上面的方法即可完成对指定文件的操作,希望本文对你有所帮助。

来源:codeceo