Кажется, вам нужен FTP-клиент для списка файлов в удаленном местоположении.Попробуйте использовать, например, ftp4j библиотеку, как описано в официальной документации или в этом примере Android , devert.Точный список файлов на удаленном FTP-сервере с ftp4j Арун вы можете найти здесь :
FTPClient client = null;
try { // Get the FTP Connection from the
Utility class client =FTPUtility.connect(ipAddress, userName,
password);
if (client != null) { /* List all file inside the directory */
FTPFile[] fileArray = client.list();
System.out.println("List of files...");
for (int i = 0; i < fileArray.length; i++) {
FTPFile file = fileArray[i];
if (file != null) {
if (file.TYPE_FILE == FTPFile.TYPE_FILE) // File {
System.out.println("File Name = " + file.getName() + " ; File Size = " + file.getSize() + " ;Modified Date = " + file.getModifiedDate());
} else if (file.TYPE_DIRECTORY == FTPFile.TYPE_DIRECTORY) // Directory
{
System.out.println("Directory Name = " + file.getName() + " ; Directory Size = " + file.getSize() + " ;Modified Date = " + file.getModifiedDate());
} else if (file.TYPE_LINK == FTPFile.TYPE_LINK) // Link
{
System.out.println("Link Name = " + file.getName() + " ;Modified Date = "
+ file.getModifiedDate());
}
}
}
}
} catch(
Exception e)
{
System.err.println("ERROR : Error in Connecting to Remote Machine... Hence exitting..."); //
e.printStackTrace();
System.exit(2);
}
finally
{
try {
client.disconnect(true);
} catch
(Exception e) {
}
}
Обновление
Если «нет активного порта для ftp, и в настоящее время я обнаружил, что устройство имеет только 4 активных порта, т.е. 80,443,3333,8192», кажется, список файлов отправляется по HTTP, и вы можете загрузить его через HttpURLConnection
и анализ ответа.Примерно так:
HttpURLConnection connection = null;
BufferedReader reader = null;
try {
URL url = new URL("http://192.168.1.254");
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
int responseCode = connection.getResponseCode();
InputStream stream = connection.getInputStream();
reader = new BufferedReader(new InputStreamReader(stream));
StringBuilder responseStringBuilder = new StringBuilder();
String line = "";
while ((line = reader.readLine()) != null) {
responseStringBuilder .append(line);
responseStringBuilder .append("\n");
}
// Parse responseStringBuilder.toString() (probably as HTML) here:
...
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (connection != null) {
connection.disconnect();
}
try {
if (reader != null) {
reader.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}