2016-07-05 2 views
1

Мне нужно подключиться к FTP-серверу и просматривать все файлы без использования каких-либо библиотек, таких как apache.commons, потому что у меня нет возможности получить эти библиотеки на данный момент ,Java подключается к FTP-серверу и загружает файлы с помощью библиотек по умолчанию java

Я попытался с помощью простого подключения URL:

URL url = new URL("username:[email protected]/folder/"); 
URLConnection conn = url.openConnection(); 
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); 

String line; 

while ((line = reader.readLine()) != null) { 
    System.out.println(line); 
} 

reader.close(); 

Когда я не включать /folder/ это работает, но он печатает меня много вещей, которые я не могу даже видеть в доме расположения FTP сервер, я не знаю, дает ли он мне файлы или другие данные.

Но когда я включаю /folder/ я получаю ошибку CWD /folder/:550 failed to change directory

и я не могу изменить права доступа directoy, его только для чтения и вот что мне нужно.

Что не так? Можно ли использовать только библиотеки java по умолчанию?

+0

проверить эту ссылку http://www.codejava.net/java-se/networking/ftp/using-urlconnection-to-list-files-and-directories-on-ftp-server – aravindKrishna

ответ

2

Во-первых, вам нужно использовать FTP URL:

URL url = new URL("ftp:username:[email protected]/folder/"); 

предполагая username и password замещены их соответствующими значениями.

Во-вторых, если у вас есть FTP-доступ к folder, он предоставит вам список каталогов в каком-то формате. Если вы этого не сделаете, вам нужно изучить сообщение об исключении, которое вы получите. Если вы опустите /folder, он предоставит вам список того, что корневой каталог по умолчанию для FTP-сервера для этого username. Код 550 означает либо проблему доступа, либо каталог не существует.

Смежные вопросы