原文:https://blog.csdn.net/qwe511455842/article/details/76603675
登陆
ftpClient.setControlEncoding("GBK");// 设置登陆编码格式
ftpClient.setConnectTimeout(6000);// 超时60秒
ftpClient.connect(hostName, port);// 连接FTP服务器
ftpClient.login(userName, password);// 登陆FTP服务器
验证是否成功
int reply = client.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
client.disconnect();
Log.d(TAG, "无法连接到ftp服务器,错误码为:" + reply);
return;
}
文件信息获取
在连接到FTP服务器后,就需要开始获取下载最重要的几个参数(文件长度、文件名)。
客户端可以通过client.listFiles(remotePath)获取FTP服务器上该路径的文件列表。
如果路径是文件,只会返回一个长度为1的数组。
如果该路径为文件夹,则会返回该文件夹下对应的所有文件。
String remotePath = "/upload/qjnn.apk"; //FTP服务器上文件路径
FTPFile[] files = client.listFiles(remotePath);
FTPFile file = files[0]; //文件信息
long size = file.getSize();
String fileaName = file.getName();
如果你的文件为英文名,并且路径中没有中文,那么通过上述代码,便可以获取到正确的文件信息。
但如果FTP上的服务器上的文件名有中文或路径有中文,那么上述代码,你将获取不到正确的文件信息。
网友评论