解决FTPClient上传文件为空

来源:互联网 发布:mac上不了网 编辑:程序博客网 时间:2024/05/21 06:15

JAVA使用FTPClient上传文件时总是为空,而使用FileZilla客户端时却不会。

后来查了下资料,FTP服务器有被动模式和主动模式。(具体查另外资料)

在JAVA中将FTPClient设置为被动模式即可解决问题。


public void testFTPClient() throws Exception {
try {
//創建一個FTPClient對象
FTPClient ftpClient = new FTPClient();
//創建ftp連接
ftpClient.connect("***.***.***.***", 21);
//登錄ftp,使用用戶名和密碼
ftpClient.login("****", "****");
//讀取本地文件
FileInputStream inputStream = new FileInputStream(new File("filePath"));
//設置為被動模式
ftpClient.enterLocalPassiveMode();

//設置上傳的路徑
ftpClient.changeWorkingDirectory("FTP服务器文件目录");
//修改上傳文件的格式
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
/**
* 第一個參數:服務端文件名
* 第二個參數:上傳文檔的InputStream
*/
System.out.println("1");
//上傳文件
ftpClient.storeFile("hello1.jpg", inputStream);
System.out.println("2");
//關閉連接
ftpClient.logout();
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}

原创粉丝点击