建立FTPClient實例java
FTPClient client = new FTPClient();
鏈接到指定的FTP服務器(域名或IP) 不指定端口,則使用默認端口21安全
client.connect("ftp.host.com", /*21*/);
登陸驗證服務器
client.login("user", "pswd");
匿名登陸less
client.login("anonymous", "ftp4j");
安全退出code
client.disconnect(true);
強制退出rem
client.disconnect(false);
取得當前文件夾域名
String dir = client.currentDirectory();
改變當前文件夾it
client.changeDirectory(newPath);
絕對路徑io
client.changeDirectory("/an/absolute/one");
相對路徑class
client.changeDirectory("relative");
回退到上級目錄
client.changeDirectoryUp();
重命名文件或文件夾
client.rename("oldname", "newname");
移動文件或文件夾
client.rename("myfile.txt", "myfolder/myfile.txt");
刪除文件
client.deleteFile(relativeOrAbsolutePath); client.deleteFile("useless.txt");
建立目錄
client.createDirectory("newfolder");
刪除目錄(空目錄)
client.deleteDirectory(absoluteOrRelativePath); client.deleteDirectory("oldfolder");
瀏覽文件
FTPFile[] list = client.list();
使用通配瀏覽文件
FTPFile[] list = client.list("*.jpg");
顯示文件或文件夾的修改時間
java.util.Date md = client.modifiedDate("filename.ext");
下載服務器上remoteFile.ext下載到本地localFile.ext
client.download("remoteFile.ext", new java.io.File("localFile.ext"));
上傳本地localFile.ext到當前目錄
client.upload(new java.io.File("localFile.ext"));
上傳和下載文件時監聽文件傳輸的狀態
public class MyTransferListener implements FTPDataTransferListener { //文件開始上傳或下載時觸發 public void started() { } //顯示已經傳輸的字節數 public void transferred(int length) { } //文件傳輸完成時,觸發 public void completed() { } //傳輸放棄時觸發 public void aborted() { } //傳輸失敗時觸發 public void failed() { } }
ftp4j也支持斷點續傳功能
下面是一個簡單示例:*參數 1056 跳過 1056字節點下載
client.download("remoteFile.ext", new java.io.File("localFile.ext"), 1056);
設置傳輸模式
#ASC碼 client.setType(FTPClient.TYPE_TEXTUAL); #二進制 client.setType(FTPClient.TYPE_BINARY); #自動選擇(根據文件內容) client.setType(FTPClient.TYPE_AUTO);
設置鏈接器
client.setConnector(connector);
SSL 套接字鏈接
client.setConnector(it.sauronsoftware.ftp4j.connectors.SSLConnector) client.setConnector(anyConnectorYouWant);