代碼
try {
FTPClient ftpClient = new FTPClient();
ftpClient.connect(addr, port);
if (ftpClient.login(user, pwd)) {
//防止文件傳輸不全
ftpClient.setControlEncoding("UTF-8");
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
ftpClient.setBufferSize(1024);
//目錄必須一個個創建,如/2012/12
ftpClient.makeDirectory("/2012");
ftpClient.makeDirectory("/2012/12");
boolean isOk = ftpClient.storeFile(path + "/" + fileName, inputStream);
if (!isOk) {
log.warn("ftp 上傳失敗 {}", fileName);
}
ftpClient.logout();
}else {
log.warn("ftp 網絡不通 {}", fileName);
}
if (ftpClient.isConnected()) {
ftpClient.disconnect();
}
} catch (IOException e) {
log.error("FTP 文件上傳失敗 {} {}",path, fileName, e);
}finally {
IOUtils.closeQuietly(inputStream);
}
Pom 依賴
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.6</version>
</dependency>