一旦FTP在java中完成,就会创建0 kb文件

我正在尝试将文件FTP到远程计算机上.以下是我的代码: –

FTPClient ftpClient = new FTPClient(); 
ftpClient.connect("home.abc.com"); 
ftpClient.login("remote", "guesst12"); 
int replyCode = ftpClient.getReplyCode(); 
ftpClient.changeWorkingDirectory("share")) 
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
InputStream input = new FileInputStream(new File("H:/testFile.txt"));
OutputStream out =  ftpClient.storeFileStream("testFile.txt");
Util.copyStream(input, out);
out.close();
input.close();
ftpClient.completePendingCommand()
ftpClient.logout();
ftpClient.disconnect();

当我执行这段代码时,代码执行没有任何问题,但在远程机器上,当我检查文件时,正在创建文件,但没有内容(OKB)文件.我在代码中遗漏了什么.

[更新]:
我尝试使用以下代码存储文件: –

if(ftpClient.storeFile("testCopy.txt", input)) {
    System.out.println("File Stored Successfully");
}
System.out.println(ftpClient.getReplyString());

现在收到的回复代码是: – 451写入本地文件失败.这意味着什么.

谢谢

最佳答案 经过一遍又一遍的观察,我不断提出不同的事情.

在复制流之前,您确定InputStream正在读取文件吗?因为我不确定FileInputStream是否在启动时读取了该文件.

点赞