• 利用多线程通过模糊查询查找计算机磁盘的文件


    利用多线程

    通过模糊查询查找计算机磁盘的文件

    例如:查找这个文件:ojdbc5dms_g.jar

    查找结果:

    主要代码如下:

     1 import java.io.File;
     2 import java.util.Date;
     3 
     4 public class FileFind extends Thread {
     5 
     6     private String path;
     7     private String name;
     8     private int relust;
     9 
    10     public FileFind(String path, String name) {
    11         super();
    12         this.path = path;
    13         this.name = name;
    14     }
    15 
    16     public FileFind() {
    17         super();
    18         // TODO Auto-generated constructor stub
    19     }
    20 
    21     public FileFind(String path, String name, int relust) {
    22         super();
    23         this.path = path;
    24         this.name = name;
    25         this.relust = relust;
    26     }
    27 
    28     @Override
    29     public void run() {
    30 
    31         filePath(path, name);
    32         System.out.println(path+"中查找到"+relust+"个文件");
    33         System.out.println(path+"查找结束");
    34         System.out.println(path+"查找结束时间"+new Date());
    35     }
    36 
    37     public  void filePath(String listRoots, String name) {
    38 
    39         File file = new File(listRoots);
    40         File[] listFiles = file.listFiles();
    41         if (listFiles != null) {
    42             for (File listFile : listFiles) {
    43                 if (!listFile.isHidden()) {
    44                     if (listFile.isDirectory()) {
    45                         if (listFile.getName().matches(".*" + name + ".*")) {
    46                             System.out.println(listFile.getAbsolutePath());
    47                             relust++;
    48                         }
    49                         filePath(listFile.getAbsolutePath(), name);
    50                     } else {
    51                         if (listFile.getName().matches(".*" + name + ".*")) {
    52 
    53                             System.out.println(listFile.getAbsolutePath());
    54                             relust++;
    55                         }
    56 
    57                     }
    58 
    59                 }
    60 
    61             }
    62         }
    63         
    64     }
    65 
    66 }

    上面这个的是继承了线程类Thread,重写run方法。

    启动线程代码:

     1 import java.io.File;
     2 import java.util.Date;
     3 
     4 public class FileFindTest {
     5     public static void main(String[] args) {
     6         find("ojdbc5dms_g.jar");
     7 
     8     }
     9 
    10     public static void find(String fileName) {
    11         System.out.println("开始查找"+new Date());
    12         File[] listRoots = File.listRoots();
    13         int result = 0;
    14         for (File listRoot : listRoots) {
    15             FileFind fileFind = new FileFind(listRoot.getAbsolutePath(), fileName, result);
    16             fileFind.start();
    17             System.out.println(fileFind.getName() + "开始运行");
    18 
    19         }
    20     }
    21 }

    很简单。就是多线程查询系统文件的一个demo!

  • 相关阅读:
    zzulioj1908: 小火山的围棋梦想
    zzulioj1913: 小火山的计算能力
    zullioj1905: 小火山的跳子游戏
    HDU 1025:Constructing Roads In JGShining's Kingdom
    HDU 1257:最少拦截系统
    HDU1051:Wooden Sticks
    HDU1950:Bridging signals
    HDU1087:Super Jumping! Jumping! Jumping!
    HDU5256: 序列变换
    3.SpringBoot配置文件以及自动配置原理
  • 原文地址:https://www.cnblogs.com/miss3316/p/8474039.html
Copyright © 2020-2023  润新知