Мое требование - получить список файлов с нужным расширением из разных каталогов, и при получении самих файлов я должен получить входной поток и выполнить некоторую обработку .... Я пытаюсь получить список файлов с требуемым файломрасширение, то я пытаюсь получить входной поток из всех выбранных файлов в этом списке.Для первой итерации, я получаю необходимые файлы, а также я получаю поток для одного файла, но для следующего файла я получаю исключение нулевого указателя.Я также не могу получить список файлов из второй итерации
Пример кода, который я использовал для проверки:
System.out.println(ftp.printWorkingDirectory());
boolean status = ftp
.changeWorkingDirectory("mydirectory");
System.out.println("Status of Change Directory:" + status);
System.out.println(ftp.printWorkingDirectory());
InputStream is = null;
System.out.println(ftp.printWorkingDirectory());
System.out.println(ftp.isConnected());
FTPFile[] list2 = ftp.listFiles();
System.out.println("Number of files in this directory:"
+ list2.length);
for (int i = 0; i < list2.length; i++) {
System.out.println("-------[" + list2[i].getName()
+ "]---------------------");
is = ftp.retrieveFileStream(list2[i].getName());
int bytesRead = 0;
byte[] buffer = new byte[1024];
while ((bytesRead = is.read(buffer, 0, buffer.length)) > 0) {
System.out.println(new String(buffer, 0, bytesRead));
}
//is.close();
System.out.println("-------[END:" + list2[i].getName()
+ "]---------------------");
}
Количество файлов отображается как 3, а первый файл вmydirectory читается правильно, но когда он пытается прочитать второй файл, он сообщает об исключении нулевого указателя .... также, после того, как я прочитал поток, используя метод retrieveFileStream, если я пытаюсь напечатать текущий рабочий каталог, он дает нулевое значение,говорит, что он все еще подключен ....
Пожалуйста, дайте мне знать, если у меня есть какие-то ошибки в моем коде .... Единственный обходной путь для меня был подключиться к местоположению ftp для каждого чтения входного потока, которыйне очень хорошая вещь ....