通過FTP4J 實現FTP各種操作

2021-06-27 00:13:46 字數 2919 閱讀 8732

我在虛擬機器中安裝了試用版serv-u 14,本地使用flashfxp4來配合本次示例。

使用使用者123,使用者密碼123123

伺服器上我在d盤建立了乙個資料夾ftp作為使用者所在域的根。

ftp4j-1.7.2.jar加入到本地工程中,或者直接使用原始碼,將解壓後的src資料夾下檔案直接拷貝到工程的src下。

先來寫一登入示例,然後根據此分別來說各種操作的示例**:

package test;

import it.sauronsoftware.ftp4j.ftpclient;

/** * ftp操作測試

* @說明

* @author cuisuqiang

* @version 1.0

* @since

*/public class ftp4jtest catch (exception e)

}}

登入進行退出操作

// 安全退出

client.disconnect(true);

// 強制退出

client.disconnect(false);

獲得當前資料夾路徑

// 當前資料夾

string dir = client.currentdirectory();

system.out.println(dir);

建立目錄

// 建立目錄

client.createdirectory("123");

切換資料夾路徑,可以使用絕對路徑或者是相對路徑,相對路徑就是相對與當前所在的路徑:

// 改變當前資料夾 絕對路徑

// client.changedirectory(dir + "/123");

// 改變當前資料夾 相對路徑

client.changedirectory("123");

// 當前資料夾

dir = client.currentdirectory();

system.out.println(dir);

返回上級目錄

client.changedirectoryup();

// 重新獲得 當前資料夾

dir = client.currentdirectory();

system.out.println(dir);

重新命名檔案或資料夾

client.rename("123", "456");
刪除目錄(不能刪除非空目錄)  絕對或相對路徑

client.deletedirectory("456");
移動檔案或資料夾

client.rename("readme.txt", dir + "/456/readme.txt");
刪除檔案

client.deletefile(dir + "/456/readme.txt");
羅列當前目錄下的檔案和檔案的修改日期,注意不要操作 . 和 .. 檔案

// 瀏覽檔案

ftpfile list = client.list();

// 使用通配瀏覽檔案

// ftpfile list = client.list("*.txt");

// 顯示檔案或資料夾的修改時間 你不能獲得 . 或 .. 的修改日期,否則permission denied

for(ftpfile f : list)

}

file file = new file("c:\\localfile.txt");

client.download("remotefile.txt", file);

上傳檔案到當前目錄

client.upload(file);
監聽檔案傳輸狀態

建立乙個實現ftpdatatransferlistener介面的類:

/**

* @說明

* @author cuisuqiang

* @version 1.0

* @since

*/class mytransferlistener implements

// 顯示已經傳輸的位元組數

public void transferred(int length)

// 檔案傳輸完成時,觸發

public void completed()

// 傳輸放棄時觸發

public void aborted()

// 傳輸失敗時觸發

public void failed()

}

client.upload(file, new mytransferlistener());
請您到iteye**看原創,謝謝!

! 

FTP 使用ftp4j操作FTP 2

上傳目錄 client ftp客戶端物件 parenturl 父節點url file 目錄 del private void uploadfolder ftpclient client,url parenturl,file file,boolean del throws exception clie...

解決ftp4j無法解析dos目錄列表樣式的問題

ftp4j是乙個國外的ftp工具庫,在使用的過程中,發現無法解析dos目錄列表樣式 除錯過程中發現找不到無dos樣式解析器,手動解析器指定產生解析異常 繼續除錯發現日期格式解析出錯 日期格式mm dd yy hh mm a,中的a在中文環境下匹配的是上午或下午,而不是am或pm,但server端傳遞...

FTP協議解析與實現(通過實驗講述FTP協議)

配置server 選擇edit setting,設定如下 增加登陸使用者和共享目錄,選擇edit user 登陸測試,在瀏覽器中輸入本機ip,可以看到共享目錄下的檔案。一 輸入ftp伺服器的ip和命令埠號,即21,進行tcp連線 二 登陸伺服器。ftp常用的命令見下文,注意傳送的命令都需要換行 三 ...