我正在使用 Java Apache Commons Net 库从 FTP 服务器下载文件。作为起点,我试图重用来自https://www.codejava.net/java-se/networking/ftp/java-ftp-file-upload-tutorial-and-example 的代码。通常,代码执行时没有问题/异常,但是对于一个特定的 FTP 服务器 ( ftp://ftp.nasdaqtrader.com/symboldirectory/nasdaqlisted.txt ) 我收到以下错误:
org.apache.commons.net.MalformedServerReplyException:截断的服务器回复:'220'
我的代码如下:
String server = "ftp.nasdaqtrader.com";
int port = 21;
String user = "anonymous";
String pass = "pw";
FTPClient ftpClient = new FTPClient();
try {
ftpClient.connect(server, port);
ftpClient.login(user, pass);
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
// APPROACH #1: using retrieveFile(String, OutputStream)
String remoteFile1 = "/symboldirectory/nasdaqlisted.txt";
File downloadFile1 = new File("C:\\filedirectory\\nasdaqlisted.txt");
OutputStream outputStream1 =
new BufferedOutputStream(new FileOutputStream(downloadFile1));
boolean success = ftpClient.retrieveFile(remoteFile1, outputStream1);
outputStream1.close();
if (success) {
System.out.println("File #1 …Run Code Online (Sandbox Code Playgroud)