如何使用Java中的FTPClient在FTP服务器中复制文件?

我有一个CSV文件,我需要复制它并在同一路径中重命名。

我在FTP登录后试过这个:

InputStream inputStream = ftpClient.retrieveFileStream(cvs_name +".csv"); ftpClient.storeFile(cvs_name2 + ".csv",inputStream); 

但是当我validation服务器上的文件时,它是空的。 如何复制文件并重命名?

我相信你的代码无法运行。 您无法同时通过单个FTP连接下载和上载文件。

你有两个选择:

  • 首先完全下载文件(到临时文件或内存)。

    如何将ftp服务器上的文件复制到java中同一服务器上的目录中的答案? 显示“内存”解决方案。 注意outputStream.toByteArray()调用。

  • 打开两个连接( FTPClient两个实例)并在实例之间复制文件。

     InputStream inputStream = ftpClient1.retrieveFileStream(cvs_name + ".csv"); ftpClient2.storeFile(cvs_name2 + ".csv", inputStream);