#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 или список каталогов, то вы заблудились и, вероятно, пытаетесь делать плохие вещи.