建立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);