我已经在一个亚马逊 EC2 实例中设置了一个 ftp 服务器,并且可以使用 apache ftp 库在我的本地机器上从该服务器下载文件。现在我试图在另一个 Amazon EC2 实例中运行相同的 ftpclient 程序,但它不工作。以下是从 ftpsever 下载文件的示例代码:
FTPClient ftp = new FTPClient();
String loc = "/home/ubuntu/test/";
String remote = "/home/ftp";
try
{
ftp.connect("ec2-xx-xx-xx-xxx.compute-1.amazonaws.com", 21);
ftp.login("username", "xxx");
System.out.println("connected..");
ftp.setFileType(FTP.BINARY_FILE_TYPE);
OutputStream output;
output = new FileOutputStream(loc+"file_name");
ftp.retrieveFile(remote+"/filen_name", output);
output.close();
ftp.disconnect();
}
catch(Exception ex)
{
ex.printStackTrace();
}
下面的代码可以列出远程目录的所有文件名:
for(FTPFile f: ftp.listFiles(remote))
{
System.out.println(f.getName());
}
这两个代码在我的本地机器上都可以正常工作,但在亚马逊机器上却不行。它连接但无法列出文件名或下载文件。并且它没有显示任何错误消息。
提前致谢 -