FTP文件上传下载
使用Apache Commons Net来实现FTP服务器文件的上传 与 下载
maven配置Jar
<!-- https://mvnrepository.com/artifact/commons-net/commons-net --> <dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>3.3</version> </dependency>
FTP上传
/** * @Package com.tianya.demo.ftp * @Function FtpUtils.java * @Description * 上传文件到FTP服务器 * @author TianwYam * @date 2019年6月25日 下午7:11:28 * @param hostName FTP的IP地址 * @param port FTP的端口 * @param userName 登陆FTP服务器的用户名 * @param password 登陆FTP服务器的密码 * @param pathName 上传到FTP的目录 * @param remoteFileName 上传到FTP的文件名称 * @param localFile 将要上传的本地文件(包括文件目录+文件名) * @return 成功true/失败false * */ public static boolean put(String hostName, int port, String userName, String password, String pathName, String remoteFileName, String localFile) { FTPClient ftpClient = new FTPClient(); try { // 连接FTP服务器 ftpClient.connect(hostName, port); // 登陆 ftpClient.login(userName, password); // 切换目录 ftpClient.changeWorkingDirectory(pathName); // 上传 return ftpClient.storeFile(remoteFileName, new FileInputStream(localFile)); } catch (IOException e) { e.printStackTrace(); } return false; }
FTP下载
/** * @description 从远程FTP服务器下载文件到本地 * @author TianwYam * @param hostName FTP的IP地址 * @param port FTP的端口 * @param userName 登陆FTP的用户名 * @param password 登陆FTP的用户密码 * @param pathName 远程文件的路径目录 * @param remoteFileName 远程文件的文件名称 * @param localFile 将要下载到本地的文件(包括目录+文件名) * @return 成功true/失败false */ public static boolean get(String hostName, int port, String userName, String password, String pathName, String remoteFileName, String localFile) { FTPClient ftpClient = new FTPClient(); try { // 连接FTP服务器 ftpClient.connect(hostName, port); // 登陆 ftpClient.login(userName, password); // 切换目录 ftpClient.changeWorkingDirectory(pathName); // 下载 return ftpClient.retrieveFile(remoteFileName, new FileOutputStream(localFile)); } catch (IOException e) { e.printStackTrace(); } return false; }
作者:tianwyam @吾师语
出处:https://www.cnblogs.com/tianwyam/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。