2010-12-21 14 views

Respuesta

2

que tenía que resolver esto también, pero después de hacer un poco de juego , Creo que lo descubrí. No he llegado a probar esto todavía, pero creo que hará el 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 
         } 
    } 
} 
} 

Espero que esto funcione/ayude. Esto también parece una forma bastante redundante, por lo que puede haber una mejor manera de hacerlo. Idk, soy nuevo en esta biblioteca y Android

11

intenta cambiar el directorio de trabajo al directorio es necesario comprobar:

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

Parece que esta es la única forma de hacer esto, desafortunadamente. Creo que son más las limitaciones de FTP que el cliente. – MaddHacker

0

Si el host remoto lo admite, el método más simple es mlistFile().

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

Lo que sólo tiene que comprobar es sólo ftpClient.cwd("your Directory Name")

esto le volverá valores enteros

250 - Si existe el archivo

O

550 - Si el archivo Doesn' t Existe

Por ejemplo,

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"); 
} 
Cuestiones relacionadas