import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Worker extends Thread {
private DirManager manager;
// private String copy_From = "E:\amu1"; // 源文件
private String copy_TO_txt = "E:\amu_txt"; // 目标文件
private String copy_TO_xlsx = "E:\amu_xlsx"; // 目标文件
private String copy_TO_zip = "E:\amu_zip"; // 目标文件
private String copy_TO_mp3= "E:\amu_mp3"; // 目标文件
private String copy_TO_pdf= "E:\amu_pdf"; // 目标文件
private String copy_TO_docx= "E:\amu_docx"; // 目标文件
private String copy_TO_other= "E:\amu_other"; // 目标文件
private String copy_TO_picture= "E:\amu_picture"; // 目标文件
public Worker(DirManager m) {
manager = m;
}
public void run() {
//System.out.println(11);
// 尝试3次
int test = 5;
while (test > 0) { //这个循环非常巧妙,在经理的提示下完才完成,这个方法必须学会
File[] dir = manager.getFirstDirectory();
if (dir != null) {
processDirectory(dir);
test = 5;
} else {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
test--;
}
}
}
private void processDirectory(File[] dir) {
//File [] get_From2=(new File(dir.getAbsolutePath()).listFiles();
for(int i=0;i }
import java.io.File;
import java.lang.reflect.Array;
import java.util.LinkedList;
import java.util.Queue;
public class DirManager {
private Queue queue = new LinkedList(); // 放文件夹的队列
private String copy_From = "E:\awazlik assar"; // 源文件
public DirManager(){
queue.add(new File(copy_From));
}
public void add1(File dir){
queue.add(dir);
System.out.println(queue.size());
}
synchronized public File[] getFirstDirectory() {
if (!queue.isEmpty()) {
File dir = queue.poll();// 如果队列不空,返回队列中的头文件
File [] get=(new File(dir.getAbsolutePath())).listFiles();
return get;
} else
return null;
} }
public class Main{
public static void main(String[] args) {
DirManager dirManager = new DirManager();
for (int i = 0; i }
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/27/viewspace-2797983/ ,如需转载,请注明出处,否则将追究法律责任。