リモートの場所に文字列 (長いテキスト ドキュメント) を FTP 送信する Java ピースがあります。すべてが機能しているように見えますが、ftp.storeFile(a,b) が呼び出されると非常に長いハング タイムが発生します。これにより、replyCode 425 が返されます。myData.txt がリモート宛先内に表示されているのは奇妙ですが、空白です。入力ストリームをブロックする何かがあるに違いありませんか? 問題が何であるかを知っている人はいますか?
Java コード:
public void doFTP(){
FTPClient ftp = new FTPClient();
FTPClientConfig config = new FTPClientConfig();
ftp.configure(config);
boolean error = false;
try {
int reply;
String server = "example.com";
ftp.connect(server);
ftp.login(username, password);
reply = ftp.getReplyCode();
if(!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
}
InputStream is = new ByteArrayInputStream(myString.getBytes()); //String
ftp.setFileType(ftp.BINARY_FILE_TYPE, ftp.BINARY_FILE_TYPE);
ftp.setFileTransferMode(ftp.BINARY_FILE_TYPE);
Boolean test = ftp.storeFile("myData.txt", is); //FTP store here
System.out.println(test);
reply = ftp.getReplyCode();
System.out.println(reply);
is.close();
ftp.logout();
} catch(IOException e) {
// ... not important
} finally {
// ... not important
}
}