我有一个 java 片段,它将通过 FTP 将字符串(长文本文档)传输到远程位置。一切似乎都在工作,但是当调用 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
}
}