如何使用 Java 中的 FTP 客户端复制 FTP 服务器中的文件?
How to copy a file in FTP server using FTPClient in Java?
我有一个 CSV 文件,我需要将其复制并重命名在同一路径。
我在 FTP 登录后试过这个:
InputStream inputStream = ftpClient.retrieveFileStream(cvs_name +".csv");
ftpClient.storeFile(cvs_name2 + ".csv",inputStream);
但是当我验证服务器上的文件时,它是空的。如何复制文件并重命名?
我认为您的代码无法运行。您不能同时通过单个 FTP 连接下载和上传文件。
您有两个选择:
先完整下载文件(到临时文件或内存)。
How to copy a file on the ftp server to a directory on the same server in java? 的已接受答案显示了 "to memory" 解决方案。注意 outputStream.toByteArray()
调用。
打开两个连接(FTPClient
的两个实例)并在实例之间复制文件。
InputStream inputStream = ftpClient1.retrieveFileStream(cvs_name + ".csv");
ftpClient2.storeFile(cvs_name2 + ".csv", inputStream);
我有一个 CSV 文件,我需要将其复制并重命名在同一路径。
我在 FTP 登录后试过这个:
InputStream inputStream = ftpClient.retrieveFileStream(cvs_name +".csv");
ftpClient.storeFile(cvs_name2 + ".csv",inputStream);
但是当我验证服务器上的文件时,它是空的。如何复制文件并重命名?
我认为您的代码无法运行。您不能同时通过单个 FTP 连接下载和上传文件。
您有两个选择:
先完整下载文件(到临时文件或内存)。
How to copy a file on the ftp server to a directory on the same server in java? 的已接受答案显示了 "to memory" 解决方案。注意
outputStream.toByteArray()
调用。打开两个连接(
FTPClient
的两个实例)并在实例之间复制文件。InputStream inputStream = ftpClient1.retrieveFileStream(cvs_name + ".csv"); ftpClient2.storeFile(cvs_name2 + ".csv", inputStream);