码迷,mamicode.com
首页 > 其他好文 > 详细

文件操作(File类)

时间:2018-02-03 12:41:25      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:pos   system   是的   out   void   lis   str   file   for   

1、java.io.File

       File 类只用于表示文件(目录)的信息(名称、大小等),不能对文件的内容进行访问。

     下面举一些 File类 的例子:

递归删除目录(所有目录和文件)      

public static void delDir(File f) {
        // 判断是否是一个目录, 不是的话跳过, 直接删除; 如果是一个目录, 先将其内容清空.
        if(f.isDirectory()) {
            // 获取子文件/目录
            File[] subFiles = f.listFiles();
            // 遍历该目录
            for (File subFile : subFiles) {
                // 递归调用删除该文件: 如果这是一个空目录或文件, 一次递归就可删除. 如果这是一个非空目录, 多次
                // 递归清空其内容后再删除
                delDir(subFile);
            }
        }
        // 删除空目录或文件
        f.delete();
    }

 

统计 ".java " 结尾的文件数

public static int count = 0;
    public static int countJava(File f) {
        File files[] = f.listFiles();
        System.out.println(f.getName());
        for(File file:files) {
            if(file.isFile()) {
                if(file.getName().endsWith(".java")) {//统计以.java结尾的文件
                    count++;
                    System.out.println("统计:"+file.getName());
                }
            }
            if(file.isDirectory()) {
                countJava(file);
            }
        }
        return count;
    }

 

2、FileFilter接口(抽象路径名的过滤器)

  此接口的实例可传递给File类的 listFiles(FileFilter)方法。用于返回满足该过滤器要求的子项。

File dir = new File("/home/soft01/demo");//文件路径
        File[]files = dir.listFiles(new FileFilter() {
            public boolean accept(File file) {
                return file.getName().endsWith(".java"); //返回以“.java”结尾的文件
            }
        });             


for(File file:files) {
            System.out.println(file.getName());//列出所有文件
        }

 

文件操作(File类)

标签:pos   system   是的   out   void   lis   str   file   for   

原文地址:https://www.cnblogs.com/YannYao/p/8399800.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!