WalkDirThreads

package searchdir;

 

import java.io.File;

import java.util.concurrent.ExecutorService;

import java.util.concurrent.Executors;

import java.util.concurrent.Future;

 

public class WalkDirThread {

 

static ExecutorService pool = Executors.newFixedThreadPool(10);

 

public static void main(String[] args) {

 

WalkDirThread wd = new WalkDirThread();

File file = new File("/System");

ThreadTask task = wd.new ThreadTask(file);

Future f = pool.submit(task);

 

}

 

class ThreadTask implements Runnable {

 

private File file;

 

ThreadTask(File file) {

this.file = file;

}

 

public void run() {

 

if (file.isFile()) {

 

if (file.getName().contains("sys")) {

 

System.out.println(file.getAbsolutePath());

}

 

return;

 

}

 

if (file.isDirectory()) {

 

File[] files = file.listFiles();

 

if (files == null) {

return;

}

 

for (File o : files) {

pool.submit(new ThreadTask(o));

}

 

}

 

}

 

}

 

}

 

posted @ 2017-02-20 19:16  mabelfdm  阅读(180)  评论(0编辑  收藏  举报