java连接ftp服务器
使用Java连接Ftp并且实现文件的上传下载
1.使用maven工程的话需要引入Maven的pom
<!--连接ftp使用--><dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId><version>3.3</version></dependency><!--打印日志使用--><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.25</version></dependency>
2.使用Java代码实现连接
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;import java.io.*;
import java.net.SocketException;/*** @wsh* 实现连接FTP服务器,实现文件的上传和下载*/
public class FtpUtils {//打印日志使用private static final Logger log = LoggerFactory.getLogger(FtpUtils.class);/*** 获取FTPClient对象** @param ftpHost* FTP主机服务器* @param ftpPassword* FTP 登录密码* @param ftpUserName* FTP登录用户名* @param ftpPort* FTP端口 默认为21* @return*/public static FTPClient getFTPClient(String ftpHost, String ftpUserName, String ftpPassword, int ftpPort) {FTPClient ftpClient = null;try {//创建一个ftp客户端ftpClient = new FTPClient();// 连接FTP服务器ftpClient.connect(ftpHost, ftpPort);// 登陆FTP服务器ftpClient.login(ftpUserName, ftpPassword);if (!FTPReply.isPositiveCompletion(ftpClient.getReplyCode())) {log.info("未连接到FTP,用户名或密码错误。");ftpClient.disconnect();} else {log.info("FTP连接成功。");}} catch (SocketException e) {e.printStackTrace();log.info("FTP的IP地址可能错误,请正确配置。");} catch (IOException e) {e.printStackTrace();log.info("FTP的端口错误,请正确配置。");}return ftpClient;}/*** 下载文件** @param ftpHost ftp服务器地址* @param ftpUserName anonymous匿名用户登录,不需要密码。administrator指定用户登录* @param ftpPassword 指定用户密码* @param ftpPort ftp服务员器端口号* @param ftpPath ftp文件存放物理路径* @param localPath 本地存储文件的路径* @param fileName 文件名称*/public static void downloadFile(String ftpHost, String ftpUserName, String ftpPassword, int ftpPort, String ftpPath, String localPath, String fileName) {FTPClient ftpClient = null;try {ftpClient = getFTPClient(ftpHost, ftpUserName, ftpPassword, ftpPort);ftpClient.setControlEncoding("UTF-8"); // 中文支持ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);ftpClient.enterLocalPassiveMode();ftpClient.changeWorkingDirectory(ftpPath);File localFile = new File(localPath + File.separatorChar + fileName);OutputStream os = new FileOutputStream(localFile);ftpClient.retrieveFile(fileName, os);os.close();ftpClient.logout();} catch (FileNotFoundException e) {log.error("没有找到" + ftpPath + "文件");e.printStackTrace();} catch (SocketException e) {log.error("连接FTP失败.");e.printStackTrace();} catch (IOException e) {e.printStackTrace();log.error("文件读取错误。");e.printStackTrace();}}/*** 上传文件** @param ftpHost ftp服务器地址* @param ftpUserName anonymous匿名用户登录,不需要密码。administrator指定用户登录* @param ftpPassword 指定用户密码* @param ftpPort ftp服务员器端口号* @param ftpPath ftp文件存放物理路径* @param fileName 文件路径* @param input 文件输入流,即从本地服务器读取文件的IO输入流*/public static void uploadFile(String ftpHost, String ftpUserName, String ftpPassword, int ftpPort, String ftpPath, String fileName,InputStream input){FTPClient ftp=null;try {ftp=getFTPClient(ftpHost, ftpUserName, ftpPassword, ftpPort);ftp.makeDirectory(ftpPath);ftp.changeWorkingDirectory(ftpPath);ftp.setFileType(FTP.BINARY_FILE_TYPE);fileName=new String(fileName.getBytes("GBK"),"iso-8859-1");ftp.storeFile(fileName, input);input.close();ftp.logout();System.out.println("upload succes!");} catch (Exception e) {e.printStackTrace();}}
}
java连接ftp服务器相关推荐
- Java连接FTP服务器并且实现对其文件的上传和下载
概述 FTP是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".FTP作为网络共享文件的传输协议,在网络应用软件中具有广泛的应用.F ...
- 使用java连接ftp服务器_Java如何连接到FTP服务器?
文件传输协议(FTP)是一种标准的网络协议,用于在计算机网络上的客户端和服务器之间传输计算机文件.下面的示例向您显示如何连接到FTP服务器. 在此示例中,我们使用FTPClientApache Com ...
- java链接ftp_java_Java连接ftp服务器实例代码,废话不多说了,直接给大家贴j - phpStudy...
Java连接ftp服务器实例代码 废话不多说了,直接给大家贴java代码了. import java.io.IOException; import sun.net.TelnetInputStream; ...
- java ftp 文件移动文件_通过JAVA对FTP服务器连接,上传,下载,读取,移动文件等...
记录一次对FTP服务器文件内容 通过Java程序对FTP服务器文件处理:连接,上传,下载,读取,移动文件等. 需求描述:今天接到一个任务,在Java项目中,读取FTP服务器上的一些文件,进行一些业务操 ...
- Java通过FTP服务器上传下载文件的方法
本文介绍了如何使用Apache Jakarta Commons Net(commons-net-3.3.jar)基于FileZilla Server服务器实现FTP服务器上文件的上传/下载/删除等操作 ...
- springboot连接ftp服务器
1.引入pom文件 <!-- ftp --><dependency><groupId>commons-net</groupId><artifact ...
- ftp读取服务器文件是否存在,java读取ftp服务器文件是否存在
java读取ftp服务器文件是否存在 内容精选 换一换 弹性云服务器通过SNAT访问公网上服务器,出现TCP建链失败的情况,可通过以下方法进行排查.执行以下命令,查看远端服务器是否开启了"t ...
- JAVA读取FTP服务器文件内容
import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPFile; import org.a ...
- 直接读取ftp服务器文件,java读取ftp服务器文件
java读取ftp服务器文件 [2021-02-05 07:08:30] 简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace(" ...
- java获取ftp服务器文件,java获取ftp服务器文件
java获取ftp服务器文件 [2021-02-05 07:26:23] 简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace(" ...
最新文章
- 不要只是为您的代码做些毛-用Prettier修复它
- 抱怨IT公司人才缺乏?留住现有人才方是正途
- 这种扯淡的嵌入式项目,尽量不要碰
- gephi 使用mysql数据,gephi练习数据
- 苹果正研发类似亚马逊Echo设备 Sir更加智能化
- java 读取manifest_使用JAVA从jar文件读取MANIFEST.MF文件
- windows 网络编程报错 error LNK2019
- Menu菜单资源Android
- python3.8编程实例_Python3.8动态人脸识别实例
- luogu p1652 圆
- 树莓派进阶之路 (023) - Windows下用串行连接控制树莓派(转)
- Android是如何绘制View的
- 揭秘ServerBootstrap神秘面纱(服务端ServerBootstrap)
- 基于springboot的房屋租赁系统
- matlab各种文件读写,Matlab的各种数据读取、文件读写等操作汇总
- 迷你世界勒索病毒,你的文件被删了吗?
- 计算机酷炫桌面,电脑桌面还能这么酷炫?!打破次元壁的桌面管理软件
- 解密DB2独步江湖之五大法宝
- oracle comment语法,oracle 之 COMMENT
- 微信小程序 | canvas为你的天气预报添加雨雪效果