原文:https://blog.csdn.net/qwe511455842/article/details/76603675
登陸
ftpClient.setControlEncoding("GBK");// 設(shè)置登陸編碼格式
ftpClient.setConnectTimeout(6000);// 超時60秒
ftpClient.connect(hostName, port);// 連接FTP服務(wù)器
ftpClient.login(userName, password);// 登陸FTP服務(wù)器
驗(yàn)證是否成功
int reply = client.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
client.disconnect();
Log.d(TAG, "無法連接到ftp服務(wù)器,錯誤碼為:" + reply);
return;
}
文件信息獲取
在連接到FTP服務(wù)器后,就需要開始獲取下載最重要的幾個參數(shù)(文件長度、文件名)。
客戶端可以通過client.listFiles(remotePath)獲取FTP服務(wù)器上該路徑的文件列表。
如果路徑是文件,只會返回一個長度為1的數(shù)組。
如果該路徑為文件夾,則會返回該文件夾下對應(yīng)的所有文件。
String remotePath = "/upload/qjnn.apk"; //FTP服務(wù)器上文件路徑
FTPFile[] files = client.listFiles(remotePath);
FTPFile file = files[0]; //文件信息
long size = file.getSize();
String fileaName = file.getName();
如果你的文件為英文名,并且路徑中沒有中文,那么通過上述代碼,便可以獲取到正確的文件信息。
但如果FTP上的服務(wù)器上的文件名有中文或路徑有中文,那么上述代碼,你將獲取不到正確的文件信息。