import java.io.FileInputStream;
import java.io.IOException;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
public class FTPUploadExample {
public static void main(String[] args) {
FTPClient ftpClient = new FTPClient();
try {
// 连接到FTP服务器
ftpClient.connect("ftp.example.com", 21);
// 登录到FTP服务器
ftpClient.login("username", "password");
// 设置FTP连接类型为二进制,防止文件传输中出现乱码
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
// 设置被动模式(针对某些服务器需要)
ftpClient.enterLocalPassiveMode();
// 文件路径
String localFile = "C:/path/to/your/localfile.txt";
// FTP服务器上的路径
String remoteFile = "/path/to/remote/directory/filename.txt";
// 上传文件
FileInputStream fis = new FileInputStream(localFile);
boolean success = ftpClient.storeFile(remoteFile, fis);
fis.close();
if (success) {
System.out.println("文件上传成功!");
} else {
System.out.println("文件上传失败!");
}
// 登出FTP服务器
ftpClient.logout();
// 断开连接
ftpClient.disconnect();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
此代码示例展示了如何使用Apache Commons Net库在Java中通过FTP协议上传文件。请确保已经添加了Apache Commons Net库到你的项目依赖中。注意替换`ftp.example.com`、`username`、`password`、`C:/path/to/your/localfile.txt`和`/path/to/remote/directory/filename.txt`为你自己的FTP服务器信息和文件路径。