要连接Java FTP服务器,您需要使用一个支持FTP协议的库,例如Apache Commons Net。以下是一个简单的示例,说明如何使用Java连接到FTP服务器并执行一些基本操作:
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.8.0</version>
</dependency>
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;
import java.io.IOException;
public class FTPServerExample {
public static void main(String[] args) {
String server = "your_ftp_server_address";
int port = 21; // FTP默认端口为21
String user = "your_username";
String pass = "your_password";
FTPClient ftpClient = new FTPClient();
try {
// 连接到FTP服务器
ftpClient.connect(server, port);
int replyCode = ftpClient.getReplyCode();
if (!FTPReply.isPositiveCompletion(replyCode)) {
System.out.println("Connect failed");
return;
}
// 登录到FTP服务器
boolean isLoggedIn = ftpClient.login(user, pass);
if (!isLoggedIn) {
System.out.println("Login failed");
return;
}
// 切换到另一个目录(例如:/home/user)
String remoteDirectory = "/home/user";
boolean isDirectoryChanged = ftpClient.changeWorkingDirectory(remoteDirectory);
if (!isDirectoryChanged) {
System.out.println("Failed to change directory");
return;
}
// 上传文件到FTP服务器
String localFilePath = "path/to/your/local/file.txt";
String remoteFilePath = "path/to/your/remote/file.txt";
boolean isFileUploaded = ftpClient.storeFile(remoteFilePath, new java.io.File(localFilePath));
if (!isFileUploaded) {
System.out.println("Failed to upload file");
return;
}
System.out.println("File uploaded successfully");
} catch (IOException ex) {
System.out.println("Error: " + ex.getMessage());
ex.printStackTrace();
} finally {
try {
// 断开与FTP服务器的连接
if (ftpClient.isConnected()) {
ftpClient.logout();
ftpClient.disconnect();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
请确保将your_ftp_server_address
、your_username
、your_password
、path/to/your/local/file.txt
和path/to/your/remote/file.txt
替换为实际的FTP服务器地址、用户名、密码以及本地文件和远程文件的路径。
这个示例展示了如何连接到FTP服务器、登录、切换目录、上传文件以及断开连接。您可以根据需要执行其他操作,例如下载文件、删除文件等。