2010-12-21 13 views

risposta

2

avevo bisogno di capire questo troppo, ma dopo aver fatto un po 'di gioco , Penso di aver capito. Non ho ancora provato questo, ma penso che farà il 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 
         } 
    } 
} 
} 

Spero che questo funzioni/aiuti. Anche questo sembra un modo abbastanza ridondante, quindi potrebbe esserci un modo migliore per farlo. IDK, im nuovo a questa libreria e Android

11

tenta di modificare la directory di lavoro alla directory è necessario verificare:

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

Questo sembra essere l'unico modo per fare proprio questo, purtroppo. Penso che siano solo più le limitazioni dell'FTP del client. – MaddHacker

0

Se l'host remoto supporta, il metodo più semplice è mlistFile().

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

Quello che hai appena bisogno di controllare è solo ftpClient.cwd("your Directory Name")

questo si ritorna valori interi

250 - se il file esiste

O

550 - Se File doesn' t Exist

per esempio,

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"); 
} 
Problemi correlati