中华考试网·阅读新闻
编程开发 > JAVA > 文章内容

java基础知识总结(26)

2016-1-16编辑:ljnbset

File类综合示例

下面以两个示例演示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());

                   //是否是文件夹

                   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类的使用就介绍这么多,其它的方法和使用时需要注意的问题还需要多进行练习和实际使用。

java基础知识总结(25)
咨询热线:4000-525-585(免长途费)