как получить доступ к каталогу с файлового сервера на Java?

#java

#java

Вопрос:

привет…

В настоящее время я работаю в приложении, в котором приложение позволяет получать доступ к каталогу (который содержит некоторые файлы) с файлового сервера к приложению (клиенту).

Я попробовал следующий код..

 URL url=("http://192.168.5.555/file-server/user/images/");
URI uri=url.toURI();
File list[];

list= new File(uri).listFiles();
  

Но это выдало java.lang.IllegalArgumentException исключение.

Я не знаю, как это происходит?

Я просто получаю доступ к каталогу images по указанному URL (файловый сервер).

Помогите мне…

Комментарии:

1. Какого рода файловый сервер? Это ftp? Если это просто http-сервер, возможно, у них не включена индексация, поэтому нет способа получить список файлов. Даже если у них включена индексация, я не знаю, существует ли стандартный протокол для доступа, подобного каталогу. Возможно, вам придется прочитать индексный файл и проанализировать его самостоятельно.

Ответ №1:

Это не сработает. java.io.File Работает только с файловой системой локального диска, то есть только с URI, начинающимся с file:// . В противном случае действительно было бы слишком легко извлечь файлы из мест, где вам это не разрешено.

Проверьте, поддерживает ли рассматриваемый сервер FTP, тогда вы можете просто использовать FTPClient#listFiles() для этого. Если это не так, но он поддерживает список каталогов, то вам нужно проанализировать HTML-ответ, содержащий список каталогов, с помощью синтаксического анализатора HTML, такого как Jsoup, а затем повторно отправлять новый запрос по каждой найденной ссылке.

Если он не поддерживает FTP или список каталогов, то вы заблудились и, вероятно, пытаетесь делать плохие вещи.