2010-12-21 38 views

Odpowiedz

2

I potrzebnych do rysunku to też, ale po zrobieniu trochę grę Myślę, że to wymyśliłem. Nie przetestowałem tego jeszcze, ale myślę, że to zrobi trik

FTPFile file[]; 
file = new FTPFile[ftpClient.listFiles().length]; 
for (int i = 0; i<file.length; i++) { 
if (file[i].getName() == "directory name") { 
    if (file[i].isDirectory()) { 
    //Do stuff if it is a directory here 
     if (file[i].hasPermission(access, permission) { 
     //Do whatever you want with permissions - access and permission arguments are int's 
         } 
    } 
} 
} 

Mam nadzieję, że to działa/pomaga. Wydaje się to również dość niepotrzebnym sposobem, więc może być lepszy sposób na zrobienie tego. Idk, jestem nowy w tej bibliotece i Android

11

Spróbuj zmienić katalog roboczy do katalogu trzeba sprawdzić:

boolean directoryExists = FTPClient.changeWorkingDirectory("path/to/somedir") 
+1

Wydaje się, że to jedyny sposób, aby naprawdę to zrobić, niestety. Myślę, że to po prostu więcej ograniczeń FTP niż klient. – MaddHacker

0

Jeśli zdalny host obsługuje, najprostszą metodą jest mlistFile().

if (ftpClient.featureValue("MLST") != null) { 
    FTPFile file = ftpClient.mlistFile(null); 
    boolean b = file.hasPermission(FTPFile.USER_ACCESS, FTPFile.WRITE_PERMISSION); 
} 
3

Co wystarczy sprawdzić tylko ftpClient.cwd("your Directory Name")

to zwróci Ci całkowitą wartości

250 - jeśli plik istnieje

LUB

550 - Jeśli pliku nie robi” t Istniejące

Na przykład:

if(ftpClient.cwd(uploadDirectoryPath)==550){ 
    System.out.println("Directory Doesn't Exists"); 
}else if(ftpClient.cwd(uploadDirectoryPath)==250){ 
    System.out.println("Directory Exists"); 
}else{ 
    System.out.println("Unknown Status"); 
}