私のプログラムに、自分のコンピューターにあるすべてのファイルの膨大なリストを印刷させたいです。私の問題は、コンピュータにあるすべてのファイルを印刷したいのに、最初のハードドライブの最初のフォルダからのファイルしか印刷しないことです。私がここで間違っていることは何ですか?ありがとう。
これが私が使用するコードです:
主要:
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
ArrayList<File> roots = new ArrayList();
roots.addAll(Arrays.asList(File.listRoots()));
for (File file : roots) {
new Searcher(file.toString().replace('\\', '/')).search();
}
}
}
およびサーチャークラス:
import java.io.File;
public class Searcher {
private String root;
public Searcher(String root) {
this.root = root;
}
public void search() {
System.out.println(root);
File folder = new File(root);
File[] listOfFiles = folder.listFiles();
for (File file : listOfFiles) {
String path = file.getPath().replace('\\', '/');
System.out.println(path);
if (!path.contains(".")) {
new Searcher(path + "/").search();
}
}
}
}