要读取FTP上的文件,您可以使用Java的FTP客户端库,如Apache Commons Net库。以下是一个示例代码,演示如何使用Apache Commons Net连接到FTP服务器并读取文件:
-
首先,您需要在项目中导入Apache Commons Net库。您可以从官方网站上下载并将其添加到项目的依赖项中。
-
接下来,您可以使用以下代码连接到FTP服务器并读取文件:
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class FTPExample {
public static void main(String[] args) {
String server = "ftp.example.com";
int port = 21;
String username = "your-username";
String password = "your-password";
String remoteFile = "/path/to/remote-file.txt";
String localFile = "local-file.txt";
FTPClient ftpClient = new FTPClient();
try {
ftpClient.connect(server, port);
ftpClient.login(username, password);
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
OutputStream outputStream = new FileOutputStream(localFile);
boolean success = ftpClient.retrieveFile(remoteFile, outputStream);
outputStream.close();
if (success) {
System.out.println("File downloaded successfully.");
} else {
System.out.println("File download failed.");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (ftpClient.isConnected()) {
ftpClient.logout();
ftpClient.disconnect();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
在上面的示例代码中,您需要替换以下变量的值:
- `server`:FTP服务器的主机名或IP地址。
- `port`:FTP服务器的端口号(通常为21)。
- `username`:用于登录的FTP用户名。
- `password`:用于登录的FTP密码。
- `remoteFile`:要从FTP服务器读取的远程文件的路径。
- `localFile`:将远程文件保存到本地的路径。
在代码中,我们首先创建一个`FTPClient`对象,然后使用`connect`方法连接到FTP服务器。接下来,我们使用`login`方法进行身份验证,并使用`enterLocalPassiveMode`方法进入被动模式。然后,我们使用`setFileType`方法设置文件类型为二进制。然后,我们创建一个`FileOutputStream`来保存下载的文件,并使用`retrieveFile`方法从FTP服务器下载文件。最后,我们使用`logout`和`disconnect`方法断开与FTP服务器的连接。