1つのamazonEC2インスタンスにftpサーバーをセットアップし、apacheftpライブラリを使用してローカルマシンのそのサーバーからファイルをダウンロードできます。現在、同じftpclientプログラムを別のAmazon EC2インスタンスで実行しようとしていますが、機能していません。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());
}
どちらのコードも私のローカルマシンでは正常に機能しますが、Amazonマシンでは機能しません。接続しますが、ファイル名やダウンロードファイルを一覧表示することはできません。また、エラーメッセージは表示されません。
前もって感謝します -