2010-12-21 14 views
5

क्या यह दूरस्थ निर्देशिका मौजूद है या नहीं, यह जांचने के लिए एफ़टीपी क्लाइंट (अपाचे कॉमन्स-नेट) के साथ संभव है?अपाचे कॉमन्स एफ़टीपी क्लाइंट, जांचें कि रिमोट डायरेक्टरी मौजूद है या अनुमतियां प्राप्त करें (लिनक्स - यूनिक्स)

मैं इस तरह कुछ करना चाहता हूँ:

ftp.isDirectory(String path) //returns true, false 

और फिर निर्देशिका की अनुमतियों (chmod) मिलती है:

ftp.getPermisions(String path) //returns -rwxr-xr-x 

उत्तर

2

मैं भी इस यह पता लगाने की जरूरत है, लेकिन एक छोटे से खेलने करने के बाद , मुझे लगता है कि मैंने हल निकाल लिया। मुझे अभी तक इसका परीक्षण करने के लिए मिल गया है, लेकिन मुझे लगता है कि यह ट्रिक

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 
         } 
    } 
} 
} 

आशा करता है कि यह काम करता है/मदद करता है। यह एक बहुत ही अनावश्यक तरीके की तरह लगता है, इसलिए ऐसा करने का एक बेहतर तरीका हो सकता है। , इस पुस्तकालय और एंड्रॉयड

11

आज़माने के लिए नए im Idk निर्देशिका की जांच करनी है के लिए काम कर निर्देशिका बदलने के लिए:

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

यह वास्तव में यह करने के लिए एक ही रास्ता, दुर्भाग्य से हो रहा है। मुझे लगता है कि यह क्लाइंट की तुलना में एफ़टीपी की सीमाओं की अधिक सीमा है। – MaddHacker

0

दूरस्थ होस्ट इसका समर्थन करता है, सरल विधि mlistFile() है।

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

क्या तुम सिर्फ जांच करने के लिए की जरूरत है सिर्फ ftpClient.cwd("your Directory Name")

है इस वापस आ जाएगी आप पूर्णांक मूल्यों

250 - फ़ाइल मौजूद है, तो

या

550 - यदि फ़ाइल doesn ' टी Exist

उदाहरण के लिए,

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"); 
} 
संबंधित मुद्दे