准备工作: 需要两个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 { public static boolean downFile(String url, int port, String username, String password, String remotePath, String fileName, String localPath) { boolean success = false; FTPClient ftp = new FTPClient(); try { int reply; 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服务器和恢复连接参数的默认值。 return success;// false失败 } ftp.changeWorkingDirectory(remotePath);// 转移到FTP服务器目录 // 使用默认的系统autodetect机制,获得的一个列表文件信息,为当前工作目录。 FTPFile[] fs = ftp.listFiles(); for (FTPFile ff : fs) { System.out.println(ff.getName()); if (ff.getName().equals(fileName)) { File localFile = new File(localPath + "/" + ff.getName()); OutputStream is = new FileOutputStream(localFile); ftp.retrieveFile(ff.getName(), is);// 取出一个命名的文件到服务器并将其写在给定的OutputStream is.close();// 关闭 } } ftp.logout();// 登出FTP服务器的命令 success = true; } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } finally { if (ftp.isConnected()) { try { ftp.disconnect(); } catch (IOException ioe) { ioe.printStackTrace(); } } } return success; } } public static void main(String[] args) { boolean ftp = false; DownDemo dd = new DownDemo(); String url = "127.0.0.1";// URL地址 int port = 21;// 端口号 String username = "sa";// 用户名 String password = "sa1234";// 密码 String remotePath = "/home/text/";// FTP服务器上的相对路径 String fileName = "testftp.txt";// 要下载的文件名 String localPath = "E:\\WorkTest\\ftpDemo\\src\\down";// 下载后保存到本地的路径 ftp = DownDemo.downFile(url, port, username, password, remotePath, fileName,localPath); System.out.println(ftp); } 直接调用方法就可以下载了 P.S.:如果需要前台界面 可以做成按钮 触发事件,也可以做成超链接……就随意了~ P.S2: 文件下载之后最好重命名一下~ P.S3: 两个包的下载地址~我太善良了~ http://u.115.com/file/f97c1f2797# jakarta-oro.jar http://u.115.com/file/f97243124e# commons-net-1.4.1.jar
java制作ftp,使用Java制作FTP下载的方法
最新推荐文章于 2021-03-16 06:32:56 发布