java FtpClient 详细说明

java FtpClient 详细说明,第1张

如果你的 JDK 不是 Sun/Oracle 的那就算了。

如果你用的是 Sun/Oracle 的 JDK,你可以尝试用 Eclipse 打开这个 FtpClient 类。

按 Ctrl + Shift + T (Navigation 菜单上也有),然后输入 FtpClient,它会自动搜索猜测你的类名,打开后在 Outline (大纲) 视图中就有方法和字段名列表。

我也遇到过 我连接之后一段时间不上传文件  去调用 ftpclientisConnected(); 总是返回true

这个时候去上传文件就报 socket time out 连接超时 , 重连 之后就没有问题;

我怀疑是这个方法判断有误, 所以我修改了下 判断  isConnected() == true 并且 切换目录 changeWorkingDirectory 也要为true 再上传文件 否则就重连 

changeWorkingDirectory 会抛出异常 自己封装下 try cach 一下 异常返回false 这是我的解决方案

flag = ftpClientretrieveFile(remoteFileName, os); os为远程文件的outputStream |remoteFileName为A服务器上文件名

flag = ftpClientstoreFile(remoteFileName, is);is为远程文件的inputSteam |remoteFileName为C服务器上文件名

由此可见这个地方还是相当纠结的,必须要用B服务器做个中转,利用B服务器上文件的OutputStream 和InputStream 所以如果文件不大的话当文件经B上传到C服务器后立即把B红的临时文件删掉就好了

当然你也可以试试

storeFileStream(String remote);来获得C上文件的OutputStream 在利用 ftpClientretrieveFile(remoteFileName, os);来上传,但是这种方法我没试过,你可以尝试一下,如果成功了请告诉我结果,谢谢

以上就是关于java FtpClient 详细说明全部的内容,包括:java FtpClient 详细说明、ftpClient.isConnected()这里返回true ftpClient.storeFile(localRootFile, input);这里返回false、请教一个在java中使用FTPClient的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10094594.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存