org.apache.commons.net.io.CopyStreamException: IOException caught while copying
来源:互联网 发布:worktile for mac 编辑:程序博客网 时间:2024/06/07 18:17
在用FTPClient上传文件时遇到异常,
异常内容如下:
2016-04-18 19:20:24.055 [Thread-47] ERROR com.al.crm.channel.bmo.impl.CrmSynBMOImpl [1201] - 增量文件同步异常:org.apache.commons.net.io.CopyStreamException: IOException caught while copying.at org.apache.commons.net.io.Util.copyStream(Util.java:135) ~[commons-net-3.1.jar:3.1]at org.apache.commons.net.ftp.FTPClient._storeFile(FTPClient.java:583) ~[commons-net-3.1.jar:3.1]at org.apache.commons.net.ftp.FTPClient.__storeFile(FTPClient.java:557) ~[commons-net-3.1.jar:3.1]at org.apache.commons.net.ftp.<strong>FTPClient.storeFile</strong>(FTPClient.java:1795) ~[commons-net-3.1.jar:3.1]at com.al.crm.channel.bmo.impl.CrmSynBMOImpl.dealJust(CrmSynBMOImpl.java:1592) ~[CrmSynBMOImpl.class:na]at com.al.crm.channel.bmo.impl.CrmSynBMOImpl.iHandleNodeFn(CrmSynBMOImpl.java:1175) ~[CrmSynBMOImpl.class:na]at com.al.crm.channel.util.NodeInfoOperateThread.run(NodeInfoOperateThread.java:38) [NodeInfoOperateThread.class:na]Caused by: java.net.SocketException: Connection reset by peer: socket write errorat java.net.SocketOutputStream.socketWrite0(Native Method) ~[na:1.6.0_45]at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) ~[na:1.6.0_45]at java.net.SocketOutputStream.write(SocketOutputStream.java:136) ~[na:1.6.0_45]at java.io.BufferedOutputStream.write(BufferedOutputStream.java:105) ~[na:1.6.0_45]at org.apache.commons.net.io.Util.copyStream(Util.java:123) ~[commons-net-3.1.jar:3.1]... 6 common frames omitted
代码片段如下:
FTPClient ftpClientG = new FTPClient();ftpClientG.connect(Constant.CONST_CSB_FTP_IP, Constant.CONST_CSB_FTP_PORT);ftpClientG.login(Constant.CONST_CSB_FTP_PIC_EDA_USERNAME, Constant.CONST_CSB_FTP_PIC_EDA_PASSWORD);int replyG = ftpClientG.getReplyCode();if (!FTPReply.isPositiveCompletion(replyG)) {ftpClientG.disconnect();logger.error("FTP连接失败!");return;} else {ftpClientG.enterLocalPassiveMode();ftpClientG.setFileTransferMode(FTP.STREAM_TRANSFER_MODE);ftpClientG.setFileType(FTP.BINARY_FILE_TYPE);ftpClientG.changeWorkingDirectory(Constant.CONST_EDA_FTP_DIR);File fileDir = new File(Constant.CONST_INCRE_TEMP_FILE);for (File files : fileDir.listFiles()) {if (!files.isDirectory()) {// 非文件夹类型FileInputStream fileIS = new FileInputStream(files);ftpClientG.storeFile(files.getName(), fileIS);fileIS.close();}}// 修改文件名for (String fileName : ftpClientG.listNames()) {if (fileName.endsWith(".txt.ing") || fileName.endsWith(".zip.ing")) {ftpClientG.rename(fileName, fileName.substring(0, fileName.indexOf(".ing")));}}ftpClientG.logout();// 关闭连接if (ftpClientG.isConnected()) {ftpClientG.disconnect();}}
ftpClientG.storeFile(files.getName(), fileIS);
需要上传的文件有1个txt和多个zip,每次上传时,txt可以成功上传,zip上传2M之后就报以上的异常。
解决办法:
多次核对代码debug之后依然找不到代码里面的错,然后用FTP工具直接上传文件,发现上传zip时会多次提示文件已存在,是否续传……
联系FTP提供方才知道是FTP服务器限制了文件大小造成的。
0 0
- org.apache.commons.net.io.CopyStreamException: IOException caught while copying.
- org.apache.commons.net.io.CopyStreamException: IOException caught while copying
- org.apache.commons.net.io.CopyStreamException: IOException caught while copying.
- FTP-org.apache.commons.net.io.CopyStreamException: IOException caught while copying.
- java ftp org.apache.commons.net.io.CopyStreamException
- org.apache.commons.io
- org.apache.commons.io.CopyUtils
- org.apache.commons.io.jar
- ClassNotFoundException:org.apache.commons.io.output.DeferredFileOutputStream error while using commo
- org.apache.commons.net.ftp
- org.apache.commons.io使用实例
- org apache Commons IO包 了解
- org.apache.commons.io.FileUtils使用
- org.apache.commons.io.FileUtils学习
- org.apache.commons.io.FileUtils使用详解
- org.apache.commons.io Class FileUtils
- org.apache.commons.io.FileUtils的使用
- org.apache.catalina.session.StandardManager doLoad 严重: IOException while loading....
- php编码解码json对象
- Android 图片压缩展示 防止使用MediaStore.Images.Media.getBitmap造成的OOM异常
- 常见的几种RuntimeException
- Java 8 新特性:Lambda 表达式之方法引用(Lambda 表达式补充版)——诺诺"涂鸦"记忆
- monodb因 /usr/lib64/libssl.so.10: no version information available原因不能连接的问题
- org.apache.commons.net.io.CopyStreamException: IOException caught while copying
- 网络:监听网络(使用Reachability框架)
- 88.NSUserDefaults数据存储总结
- Log工具类
- 网络:ASI 框架使用(上传与下载文件)
- linux系统 Qt获取用户名
- Quartz实现定时任务
- 基于AppCan移动云平台搭建“智慧移动门户”
- 网络:ASI 框架使用(同步与异步)