ArrayList
ある場所からすべての絶対ファイルパスにシリアル化する必要があります。FixedThreadPool
fromでそれをやりたいですExecutorService
。
例location: c:/folder1
-; folder1には、すべてファイルを含む、より多くのフォルダーがあります。フォルダを見つけるたびに、そのファイルを検索してArrayListに追加したいと思います。
public class FilePoolThreads extends Thread {
File fich;
private ArrayList al1;
public FilePoolThreads(File fi, ArrayList<String> al) {
this.fich = fi;
this.al1 = al;
}
public void run() {
FileColector fc = new FileColector();
File[] listaFicheiros = fich.listFiles();
for (int i = 0; i < listaFicheiros.length; i++) {
if (listaFicheiros[i].isFile()) {
al1.add(listaFicheiros[i].getAbsolutePath());
}
}
}
}
ファイルの収集を開始するクラス:
public class FileColector {
private ArrayList<String> list1 = new ArrayList<>();
public static ArrayList<String> search(File fich,ArrayList<String> list1) {
int n1 = 1;
ExecutorService executor = Executors.newFixedThreadPool(n1);
do {
// FilePoolThreads[] threads=new FilePoolThreads[10];
FilePoolThreads mt = new FilePoolThreads(fich, list1);
executor.execute(mt);
} while (fich.isDirectory());
executor.shutdown();
return list1;
}
私のコードはうまく機能していません、私はロジックのいくつかの失敗があると思います、私は誰かがそれを修正するのを手伝ってくれる必要があります、そしてどうすれば私はそれを返すことができArrayList
ますか?getInputStream
前に、次にgetOutputStream
?を使用する必要があります