File类的综合示例自我解析 核心分析是关键

    作者:课课家教育更新于: 2016-02-07 17:26:25

    大神带你学编程,欢迎选课

      下面以两个示例演示File类的综合使用。第一个示例是显示某个文件夹下的所有文件和文件夹,原理是输出当前名称,然后判断当前File对象是文件还是文件夹,如果则获得该文件夹下的所有子文件和子文件夹,并递归调用该方法实现。第二个示例是删除某个文件夹下的所有文件和文件夹,原理是判断是否是文件,如果是文件则直接删除,如果是文件夹,则获得该文件夹下所有的子文件和子文件夹,然后递归调用该方法处理所有子文件和子文件夹,然后将空文件 夹删除。则测试时谨慎使用第二个方法,以免删除自己有用的数据文件。示例代码如下:

      import java.io.File;

      /**

      *文件综合使用示例

      */

      public class AdvanceFileDemo {

      public static void main(String[] args) {

      File f = new File("e:\\\\Book");

      printAllFile(f);

      File f1 = new File("e:\\\\test");

      deleteAll(f1);

      }

      /**

      *打印f路径下所有的文件和文件夹

      * @param f文件对象

      */

      public static void printAllFile(File f){

      //打印当前文件名

      System.out.println(f.getName());

    File类的综合示例自我解析_java教材_java环境_课课家

      //是否是文件夹

      if(f.isDirectory()){

      //获得该文件夹下所有子文件和子文件夹

      File[] f1 = f.listFiles();

      //循环处理每个对象

      int len = f1.length;

      for(int i = 0;i < len;i++){

      //递归调用,处理每个文件对象

      printAllFile(f1[i]);

      }

      }

      }

      /**

      *删除对象f下的所有文件和文件夹

      * @param f文件路径

      */

      public static void deleteAll(File f){

      //文件

      if(f.isFile()){

      f.delete();

      }else{ //文件夹

      //获得当前文件夹下的所有子文件和子文件夹

      File f1[] = f.listFiles();

      //循环处理每个对象

      int len = f1.length;

      for(int i = 0;i < len;i++){

      //递归调用,处理每个文件对象

      deleteAll(f1[i]);

      }

      //删除当前文件夹

      f.delete();

      }

      }

      }

      关于File类的使用就介绍这么多,其它的方法和使用时需要注意的问题还需要多进行练习和实际使用。

课课家教育

未登录