zoukankan      html  css  js  c++  java
  • Pc上对指定文件类型进行全盘扫描<用JAVA语言实现该功能>

     

     

    import java.io.File;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List
    import java.util.Random;

    import javax.swing.filechooser.FileSystemView;

    /**
    * 本种扫面指定文件的方法采用的是单线程
    * 对于对于数据量比较大的文件系统来说最好采用多线程方式
    * 读写文件 这样效率很好 TestFile2.java
    * 采用多线程方式读写文件
    * @author lzx
    *
    */
    public class TestFile {
    public static void main(String[] args) {
    //程序开始时间
    long begin= System.currentTimeMillis();
    TestFile t=new TestFile();
    //声明一个list集合
    List<String> list=new ArrayList<String>();
    File [] f=t.getSystem();
    //循环遍历出本机盘符并对指定文件后缀名进行查找在控制台遍历出来
    for (int i = 0; i < f.length; i++) {
    System.out.println(f[i]);
    //查找到某个盘符过后即对本盘符下查找指定文件后缀名的文件
    list=t.getFileName(f[i]);
    }
    //计算程序用时
    System.out.println(System.currentTimeMillis()-begin);
    //打印文件总数
    System.out.println(list.size());
    }

    /**
    * 获取本地所有盘符
    */

    public File [] getSystem(){
    File [] file= File.listRoots();
    return file;
    }
    /**
    *获取对应盘符下符合要求的文件
    */
    public List<String> getFileName(File file){
    List<String> list=new ArrayList<String>();
    File [] f=file.listFiles();
    //判断f数组是否为空
    if (f!=null) {
    if (f.length>0) {
    for(File files:f){
    if (files.isDirectory()) {
    getFileName(files);
    }
    else{
    String fileName=files.getName();
    String [] fName=fileName.split("\.");
    if (fName[(fName.length)-1].equals("docx")) {
    list.add(files.getName());
    System.out.println(files.getName());
    }
    }
    }

    }


    }
    return list;

    }

    }

  • 相关阅读:
    Datasource Server returns invalid timezone问题
    springboot之异常处理
    maven的安装配置
    Javajdk的安装
    jdbc连接mysql数据库 (idea)
    关于MySQL数据库的卸载
    python3.6.8的安装及初步使用
    计算机基础及编程语言的简单了解
    git、码云的使用
    粘滞位权限
  • 原文地址:https://www.cnblogs.com/Jason763/p/13557833.html
Copyright © 2011-2022 走看看