关于文件的工具类例子

Posted ncy1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于文件的工具类例子相关的知识,希望对你有一定的参考价值。

一 . 递归获取当前路径下的所有文件, 包含所有子文件夹下的文件:

package com.ncy.xx;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

/**
 * 文件查找
 * @author NCY
 *
 */
public class ListFiles {

    /**
     * @Title: getallfile
     * @Description: 获取当前路径下的所有文件
     * @author ruby
     * @return void 返回类型
     * @date 2018年1月4日 下午2:15:38 @throws
     */
    public static List<File> getallfile(String path) {
        List<File> allfilelist = new ArrayList<File>();
        return getallfile(new File(path), allfilelist);
    }
 
    /**
     * @Title: getallfile
     * @Description: 获取当前文件夹下的所有文件
     * @author ruby
     * @return void 返回类型
     * @date 2018年1月4日 下午2:15:38 @throws
     */
    public static List<File> getallfile(File file, List<File> allfilelist) {
        if (file.exists()) {
            //判断文件是否是文件夹,如果是,开始递归
            if (file.isDirectory()) {
                File f[] = file.listFiles();
                for (File file2 : f) {
                    getallfile(file2, allfilelist);
                }
            } else {
                allfilelist.add(file);
            }
        }
        return allfilelist;
    }

    public static void main(String[] args) {
        List<File> list = getallfile("D:\z");
        for (File file : list) {
            System.out.println(file.getCanonicalPath());
        }
    }
}

输出为:

D:zzzfile1.txt
D:zzzfile2.txt
D:zzzfile新建文件夹1.txt
D:zzzfile新建文件夹2.txt
D:zzz新建文件夹1.txt
D:zzz新建文件夹2.txt

 

二 . 递归计算文件数量

package com.ncy.test;

import java.io.File;
/**
 * 递归计算文件数量
 * @author NCY
 *
 */
public class DirTest{

    public static int getCountFile(File file){
        if (file.isDirectory()) {
            int countFile = 0;
            File[] files = file.listFiles();
            for (File f : files) {
                countFile += getCountFile(f);
            }
            return countFile;
        }else if (file.isFile()) {
            return 1;
            
        }
        
        return 0;
    }
    
    public static void main(String[] args) {
        File file = new File("D:/z");
        int countFile = getCountFile(file);
        
        System.out.println(countFile);
    }
}

输出为 :

6

 






以上是关于关于文件的工具类例子的主要内容,如果未能解决你的问题,请参考以下文章

前端开发工具vscode如何快速生成代码片段

solr分布式索引实战分片配置读取:工具类configUtil.java,读取配置代码片段,配置实例

elasticsearch代码片段,及工具类SearchEsUtil.java

关于在各浏览器中插入音频文件的html代码片段

关于java工具类的理解 为啥java要提出个工具类的概念,按照面向对象的思想为啥不直接把工具

golang goroutine例子[golang并发代码片段]