java连接ftp(java连接ftp读取文件有中文字符)

华为云服务器特价优惠火热进行中!

2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。

合作流程:
1、点击链接注册/关联华为云账号:点击跳转
2、添加客服微信号:cloud7591,确定产品方案、价格方案、服务支持方案等;
3、客服协助购买,并拉微信技术服务群,享受一对一免费技术支持服务;
技术专家在金蝶、华为、腾讯原厂有多年工作经验,并已从事云计算服务8年,可对域名、备案、网站搭建、系统部署、AI人工智能、云资源规划等上云常见问题提供更专业靠谱的服务,对相应产品提供更优惠的报价和方案,欢迎咨询。

本篇文章给大家谈谈java连接ftp,以及java连接ftp读取文件有中文字符对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

微信号:cloud7591
如需了解更多,欢迎添加客服微信咨询。
复制微信号

本文目录一览:

JAVA编写FTP连接报错java.net.ConnectException: Connection refused: connect FTP

你用的FTPClient引入不对吧,我们项目上都是用的

import org.apache.commons.net.;

import org.apache.commons.net.;

import org.apache.commons.net.;

下面是我们项目上用到的FTP的实现代码(FTP需要先连接,再登录,之后就是校验登录是否成功),具体代码如下:

/**

  * 获取FTPClient对象

  *

  * @param ftpHost FTP主机服务器

  * @param ftpPassword FTP 登录密码

  * @param ftpUserName FTP登录用户名

  * @param ftpPort FTP端口 默认为21

  * @return FTPClient

  * @throws Exception

  */

 public static FTPClient getFTPClient(String ftpHost, String ftpUserName,

   String ftpPassword, int ftpPort) throws Exception {

  try {

   FTPClient ftpClient = new FTPClient();

   ftpClient.connect(ftpHost, ftpPort);// 连接FTP服务器核枝

   ftpClient.login(ftpUserName, ftpPassword);// 登陆FTP服务器

   if (!FTPReply.isPositiveCompletion(ftpClient.getReplyCode())) {

    logger.error("未连接到FTP,用户名或密码错误!");

    ftpClient.disconnect();

    return null;

   } else {

    logger.info("FTP连改激敏接成功!");

    铅斗return ftpClient;

   }

  } catch (SocketException socketException) {

   logger.error("FTP的IP地址可能错误,请正确配置!");

   throw socketException;

  } catch (IOException ioException) {

   logger.error("FTP的端口错误,请正确配置!");

   throw ioException;

  }

 }

java 连接ftp是主动模式还是被动模式

一.FTP的PORT(主动模式)和PASV(被动模式)

1.

PORT(主动模式)

PORT中文称为主动模式,工作的原理:

FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,客户端随机开放一个端口(1024以上),发送

PORT命令到FTP服裂脊务器,告诉服务器客户端采用主动模式并开放端口;FTP服务器收到PORT主动模式命令和端口号后,通过服务器的20端口和客户端开放的端口连接,发送数据.

2.

PASV(被动模式)

PASV是Passive的缩写,中文成为被动模式,工作原理:FTP客户端连接到FTP服务器的21端口,发送用户名和密码登录,登录成功后要list列表或者读取数据时,发送PASV命令到FTP服务器,

服务器在本地随机开放一个端口(1024以上),然后把开放的端口告诉客户端,

客户端再连接到服务器开放的端口进行数据传输。

二.两种模式的比较

从上面的运行原来看到,主动模式和被动模式的不同简单概述为:

主动模式传送数据时是“服务器”连接到“客户端”的端口;被动模式传送数据是“客户端”连接到“服务器”的端口。

主动模式需要客户端必须开放端口给服务器,很多客户端都是在防火墙内,开放端口给FTP服务器访问比较困难。

被动模式只需要服务器端开放端口给客户端连接就行了。

三.不同工作模式的网络设置

实际项目中碰到的问题是,FTP的客户端和服务器分别在不同网络,两个网络之间有至少4层的防火墙,服务器端只开放了21端口,

客户端机器没开放任何端口。FTP客户端连接采用的被动模式,结果客户端能登录成功,但是无法LIST列表和读取数据。很明显,是因为服务器端没开放扮戚被动模式下的随机端口导致。

由于被动模式下,服务器端开放的端口随机,但是防火墙要不能全部开放,解决的方案是厅源陵,在ftp服务器配置被动模式下开放随机端口在

50000-60000之间(范围在ftp服务器软件设置,可以设置任意1024上的端口段),然后在防火墙设置规则,开放服务器端50000-60000之间的端口端。

主动模式下,客户端的FTP软件设置主动模式开放的端口段,在客户端的防火墙开放对应的端口段。

四.如何设置

工作模式

实时上FTP服务器一般都支持主动和被动模式,连接采用何种模式是有FTP客户端软件决定。

java连接ftp是主动模式还是被动模式

正常情况下,默认使用主动模式喊渣 连接ftp;如果ftp仍然是登陆成功但是没有上传或下载文件,就在登陆后加入一行代孝神码,客户端使用被动方式连接ftp服务端

ftpC.login(user, password);

// ftpC.enterLocalPassiveMode();

if (null != remotePath) {

/郑慎悄/ 打开进入指定目录

ftpC.changeWorkingDirectory(remotePath);

}

关于java连接ftp和java连接ftp读取文件有中文字符的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

发布于 2023-04-14 10:04:17
收藏
分享
海报
38
目录

    忘记密码?

    图形验证码

    复制成功
    微信号: cloud7591
    如需了解更多,欢迎添加客服微信咨询。
    我知道了