нужна помощь Java
Доброе время суток. Помогите пожалуйста разобраться. Нужно написать программу которая ищет одинаковые файлы в указанной директории. Написал код в котором рекурсивно нахожу файлы и полные пути к ним вывожу на экран. Во время выполнения проходит все папки, но на экран выводит не все файлы. директории с маленькой вложенностью проходит нормально и выводит все содержащиеся файлы. Если указываю локальный диск с более чем 1000 директорий и файлов, то выводит не все файлы. Пробовал увеличить стек, не помогло. пишу в эклипсе, win 7
import java.io.*;
import java.util.*;
public class DirTree {
/**
* @param args
* @throws FileNotFoundException
* @throws Exception
*/
public static void main(String[] args) {
System.out.println("Enter start path");
Scanner sc = new Scanner(System.in);
String StartPath = sc.next();
sc.close();
File path = new File(StartPath);
if (!path.exists()){
System.out.println("Directory not found");
}
if (!path.isDirectory()){
System.out.println("not directory"+StartPath);
}
List(StartPath);
}
static void List(String root){
try{
File f = new File(root);
String[] fDirList = f.list();
if (fDirList != null){
for (int i = 0; i < fDirList.length; i++){
File f1 = new File(root + File.separator + fDirList[i]);
if (f1.isFile()){
System.out.println(root + File.separator + fDirList[i]);
}
else
{
List(root + File.separator + fDirList[i]);
}
}
}
}
catch (NullPointerException s){
System.out.println(s);
}
}
3 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів