以下是我的代碼,用於讀取文件並在之後對其進行重命名。我使用apache commons.net 3.0.1
。重命名ftp文件夾中的文件時出錯Java
client.connect(localhost);
boolean login = client.login("username", "password");
if(login){
System.out.println("login successful");
boolean chdir = client.changeWorkingDirectory("/home/folder1/child/");
String url = client.printWorkingDirectory(); // EDIT
FTPFile[] result = client.listFiles(url, filter);
if (result != null && result.length > 0) {
for (FTPFile aFile : result) {
try{
String filename = aFile.getName();
InputStream is= client.retrieveFileStream(filename);
br = new BufferedReader(new InputStreamReader(is));
while((line = br.readLine()) != null){
System.out.println("the line is"+line);
}
}
finally{
if(br!=null){
try{
br.close();
String oldFilename =url + "/" +aFile.getName();
String newFilename = "PRO"+aFile.getName();
boolean rename = client.rename(oldFilename, newFilename);
if(rename){
System.out.println("renamed");
}
else{
System.out.println("Error in renaming");
}
}
文件deosn't獲得改名和程序打印
錯誤重命名文件(CZ布爾更名= FALSE)。
我已經討論過不同的例子。但似乎都表現出同樣的問題。 該文件在篩選器後被選中並且沒有任何問題地被讀取。
如果有人能指出我在這裏做錯了什麼,那會非常有幫助。
這裏,url
是String url = client.printWorkingDirectory();
我有兩個相對路徑和絕對路徑嘗試。並給予完整路徑只有oldFilename
和只是newFilename
filname。兩者都不起作用。
編輯
改變目錄之前,將URL /
這是根。 更改目錄後,網址將爲/home/folder1/child/
。這是文件存在的地方。
你得到任何異常?如果是,請添加堆棧跟蹤。 – Jens 2015-04-02 05:57:41
@Jens似乎沒有例外。 – 2015-04-02 06:16:53
在你的代碼中打印重命名文件(cz布爾重命名= false)。錯誤? – Jens 2015-04-02 06:18:11