FTPClient(Apache commons-net)可以檢查遠程目錄是否存在?Apache Commons FTPClient,檢查遠程目錄是否存在並獲取權限(linux-unix)
我想要做這樣的事情:
ftp.isDirectory(String path) //returns true, false
然後目錄中獲得的權限(CHMOD):
ftp.getPermisions(String path) //returns -rwxr-xr-x
FTPClient(Apache commons-net)可以檢查遠程目錄是否存在?Apache Commons FTPClient,檢查遠程目錄是否存在並獲取權限(linux-unix)
我想要做這樣的事情:
ftp.isDirectory(String path) //returns true, false
然後目錄中獲得的權限(CHMOD):
ftp.getPermisions(String path) //returns -rwxr-xr-x
我需要弄清楚這一點了,但是做一個小遊戲後, ,我想我明白了。我還沒有得到測試,但我認爲它會做這個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
}
}
}
}
希望這可以/幫助。這似乎也是一種相當多餘的方式,所以可能有更好的方法。 IDK,即時通訊新本庫和Android
嘗試改變工作目錄,你需要檢查的目錄:
boolean directoryExists = FTPClient.changeWorkingDirectory("path/to/somedir")
如果遠程主機支持它,最簡單的方法是mlistFile()。
if (ftpClient.featureValue("MLST") != null) {
FTPFile file = ftpClient.mlistFile(null);
boolean b = file.hasPermission(FTPFile.USER_ACCESS, FTPFile.WRITE_PERMISSION);
}
你只需要檢查什麼只是ftpClient.cwd("your Directory Name")
這將返回整數值
250
- 如果文件存在
OR
550
- 如果文件隱而不宣」 t存在
例如,
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");
}
這似乎是真正做到這一點的唯一方法,不幸的是。我認爲這只是FTP客戶端的侷限性。 – MaddHacker 2012-05-17 14:55:56