How to copy a file in FTP server using FTPClient in Java?(如何在 Java 中使用 FTPClient 复制 FTP 服务器中的文件?)
问题描述
我有一个 CSV 文件,我需要复制它并在同一路径中重命名它.
I have a CSV file, and I need to copy it and rename it in the same path.
我在 FTP 登录后尝试了这个:
I tried this after the FTP login:
InputStream inputStream = ftpClient.retrieveFileStream(cvs_name +".csv");
ftpClient.storeFile(cvs_name2 + ".csv",inputStream);
但是当我在服务器上验证文件时,它是空的.如何复制文件并重命名?
But when I verify the file on the server, it's empty. How can I copy a file and rename it?
推荐答案
我相信你的代码不能工作.您不能同时通过一个 FTP 连接下载和上传文件.
I believe your code cannot work. You cannot download and upload a file over a single FTP connection at the same time.
你有两个选择:
首先将文件完全下载(到临时文件或内存中).
Download the file completely first (to a temporary file or to a memory).
如何将 ftp 服务器上的文件复制到 java 中同一服务器上的目录?显示记忆"解决方案.注意 outputStream.toByteArray() 调用.
The accepted answer to How to copy a file on the ftp server to a directory on the same server in java? shows the "to memory" solution. Note the outputStream.toByteArray() call.
打开两个连接(FTPClient 的两个实例)并在实例之间复制文件.
Open two connections (two instances of the FTPClient) and copy the file between the instances.
InputStream inputStream = ftpClient1.retrieveFileStream(cvs_name + ".csv");
ftpClient2.storeFile(cvs_name2 + ".csv", inputStream);
这篇关于如何在 Java 中使用 FTPClient 复制 FTP 服务器中的文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在 Java 中使用 FTPClient 复制 FTP 服务器中的文
- 将log4j 1.2配置转换为log4j 2配置 2022-01-01
- Safepoint+stats 日志,输出 JDK12 中没有 vmop 操作 2022-01-01
- Java包名称中单词分隔符的约定是什么? 2022-01-01
- C++ 和 Java 进程之间的共享内存 2022-01-01
- value & 是什么意思?0xff 在 Java 中做什么? 2022-01-01
- Eclipse 插件更新错误日志在哪里? 2022-01-01
- 如何使用WebFilter实现授权头检查 2022-01-01
- Jersey REST 客户端:发布多部分数据 2022-01-01
- 从 finally 块返回时 Java 的奇怪行为 2022-01-01
- Spring Boot连接到使用仲裁器运行的MongoDB副本集 2022-01-01
