使用Java制作FTP下载的方法
来源:互联网 发布:手机知乎怎么匿名提问 编辑:程序博客网 时间:2024/05/17 09:18
准备工作:
需要两个JDK包:commons-net-1.4.1.jar,jakarta-oro.jar包
使用工具:用的MyEclipse8.5
准备FTP服务器:找相关资源就行
创建项目:...
代码部分:
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;
public class DownDemo {
publicstatic boolean downFile(String url, int port, Stringusername,
Stringpassword, String remotePath, String fileName,
StringlocalPath) {
booleansuccess = false;
FTPClientftp = new FTPClient();
try {
intreply;
ftp.connect(url, port);// 根据FTP服务器hostname和FTP服务器端口 ,连接
//如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器
ftp.login(username, password);
reply =ftp.getReplyCode();// 最后FTP的答复
//连接后检测返回码来校验连接是否成功
if(!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();// 关闭连接到FTP服务器和恢复连接参数的默认值。
returnsuccess;// false失败
}
ftp.changeWorkingDirectory(remotePath);// 转移到FTP服务器目录
// 使用默认的系统autodetect机制,获得的一个列表文件信息,为当前工作目录。
FTPFile[] fs= ftp.listFiles();
for (FTPFileff : fs) {
System.out.println(ff.getName());
if(ff.getName().equals(fileName)) {
FilelocalFile = new File(localPath + "/" + ff.getName());
OutputStreamis = new FileOutputStream(localFile);
代码部分:
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;
public class DownDemo {