Я хочу прочитать несколько файлов из нескольких каталогов. Пока моя программа может читать несколько файлов только до определенного предела.Файл [] не может обрабатывать несколько файлов
public void filesTobeCollected(String validpath) throws Exception {
this.folder = new File(validpath);
// this.file = new ArrayList<>();
File[] fileEntry = folder.listFiles();
System.out.println("directory path" + fileEntry.length);
/*****File upload read****/
for (int i = 0; i < fileEntry.length; i++) {
/*this line weeds out other directories/folders*/
if (fileEntry[i].exists()) {
file.add(String.valueOf(fileEntry[i]));
}
}
}
и я посылаю значение каталогов через эту функцию,
public List<String> filesTobeTested(ArrayList<String> file) throws
Exception {
Set<String> test = new HashSet<>();
test.add("src/test/resources/gfd");
test.add("src/test/resources/rds");
test.add("src/test/resources/oiu");
//test.add("src/test/resources/pol");
System.out.println("directory path 2" + test);
for (int i = 0; i < 1; i++) {
for (Iterator<String> it = test.iterator(); it.hasNext();) {
String f = it.next();
filesTobeCollected(f);
System.out.println("Found" + f);
}
Здесь File [] FileEntry, кажется, есть некоторый предел, как я нажимаю больше каталогов с помощью test.add ("SRC/тест/ресурсы/obj ") Файл [] fileEntry не может обрабатывать больше файлов. Есть ли альтернатива File [] fileEntry для неограниченного или неизвестного количества файлов?
У вас возникли какие-либо исключения? – Adi
Почему у вас есть 'for (int i = 0; i <1; i ++) {'? Этот цикл for выполняется ровно один раз; вы можете просто удалить его. –
'Есть ли альтернатива файлу [] fileEntry без неограниченного или неизвестного количества файлов?' - обычно вы должны использовать someting как 'ArrayList' вместо необработанных массивов, но это не проблема здесь, так как' listFiles(); 'уже выделяет массив с соответствующим размером. Пожалуйста, опубликуйте [mcve], чтобы мы могли воспроизвести проблему. –