当前位置: 首页 > 面试题库 >

用Java完成FTP后创建0 kb文件

秦新立
2023-03-14
问题内容

我正在尝试通过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 Failure writing to local file.这是什么意思。

谢谢


问题答案:

一遍又一遍地看之后,我不断提出不同的东西。

您确定在复制流之前InputStream正在读取文件吗?因为我不确定FileInputStream在启动时会读取文件。



 类似资料:
  • 问题内容: 当我尝试使用apache commons ftpClient和以下代码上传简单的文本文件时: 在FTP服务器的根目录中创建了一个文件,但该文件为空。怎么了?我已经尝试在上传PDF文件时将ftp模式更改为BINARY。但文件的大小也为0。 我也只想上传一堆txt文件,所以默认的ascii模式应该可以,对吧? 问题答案: 好的,看来这是我的防火墙的探针。当我停用防火墙时,文件将毫无问题地写

  • 我有一个客户谁的FTP文件通过我们的服务器。我定义了一条路由,从这个目录中选择某些文件,并将它们移动到另一个要处理的目录中。问题是,它一看到它就拿它,而不是等到ftp完成。结果是to URI中描述的路径中的一个0字节文件。我尝试了每一个readLock选项(masterFile、rename、changed、fileLock),但都不起作用。我正在使用spring DSL定义我的骆驼路由。这里有一

  • 本文向大家介绍java实现ftp上传 如何创建文件夹,包括了java实现ftp上传 如何创建文件夹的使用技巧和注意事项,需要的朋友参考一下 java如何实现ftp上传?如何创建文件夹? 最佳答案: 准备条件:java实现ftp上传用到了commons-net-3.3.jar包 首先建立ftphost连接 然后再利用ftpclient的makeDirectory方法创建文件夹 断开host连接 最后

  • 问题内容: 我已经使用spring-integration java dsl定义了一个流,以ftp传输文件,进行处理,然后将其传输回“存档”目录,最后将其移动到本地存档目录中。这是“相当容易”的: 如果我追加 在ftp适配器配置后,bean初始化程序将回复以下错误消息: 我该如何解决? 问题答案: 作为解决方法,我重构了代码,放弃了文件适配器: }

  • 问题内容: 在我的项目中,我具有文件上传功能。文件通过FTP上传。我需要配置一个侦听器,该侦听器将检查新文件并仅在文件上传完成后才调用脚本。因为如果我在检测到新文件后立即运行此脚本,它将开始处理未完全上载的文件,这将导致错误。谁能说出这在LINUX上是否可行,我该怎么做? 问题答案: 我会尝试使用inotify,事件代码为IN_CLOSE_WRITE。