ftp在上传文件时,客户端断网重连以后再发送文件就发生错误如何解决?

问题描述

我用了你的程序运行了一下,但是我用20CNMINIFTP作为ftp服务器,用你的程序作为客户端进行文件的上传,(在两台机上做),当文件还没有上传成功的时候,我把客户端断了网,然后再重新连接上,但是在客户端抛出了这样的异常:java.net.SocketException:Softwarecausedconnectionabort:socketwriteerroratjava.net.SocketOutputStream.socketWrite0(NativeMethod)atjava.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)atjava.net.SocketOutputStream.write(SocketOutputStream.java:136)atorg.apache.commons.net.io.SocketOutputStream.write(SocketOutputStream.java:72)atcom.yx.gip.exchange.ftp.FtpClientCon.upLoadFile(FtpClientCon.java:404)atcom.yx.gip.exchange.ftp.FtpClientCon.upFile(FtpClientCon.java:297)atcom.yx.gip.exchange.ftp.FtpClientCon.hasUpFile(FtpClientCon.java:182)atcom.yx.gip.exchange.ftp.FtpClientCon.checkNetWorkStatus(FtpClientCon.java:234)atcom.yx.gip.exchange.ftp.FtpClientCon.hasUpFile(FtpClientCon.java:149)atcom.yx.gip.exchange.ftp.FtpClientCon.upLoadFile(FtpClientCon.java:444)atcom.yx.gip.exchange.ftp.FtpClientCon.upFile(FtpClientCon.java:297)atcom.yx.gip.exchange.ftp.FtpClientCon.hasUpFile(FtpClientCon.java:182)atcom.yx.gip.exchange.ftp.FtpClientCon.run(FtpClientCon.java:132)QUIT而在服务器端就抛出了这个上传的文件正在被另一个程序使用中,无法访问..........的错误。请问你们有没有过这样的错误,有没有办法解决。如果有的话,请给我发一个邮件:heshuzhen1931@sohu.com。请各位高手帮帮忙,小弟感觉不尽,我做这个问题做了很久了,但总是解决不了。

解决方案

解决方案二:
帮顶~看上去像stream没读好呀?也不知你程序是如何读取的.publicbyte[]readBytes(InputStreamin){ByteArayOutputStreamout=newByteArrayOutputStream();intbytsRead=0;byteb[]=newbyte[32768];while(bytesRead>=0){bytesread=in.read(b);//eachreadwillreadachunkofsomeunknownsizeuntilitis-1bytesif(bytesRead>=0)out.write(b,0,bytesRead);}returnout.toByteArray();//returnsanarrayofallthebytesreadconcatenatedtogether.}Goodluck~

时间: 2024-09-17 04:35:24

ftp在上传文件时,客户端断网重连以后再发送文件就发生错误如何解决?的相关文章

ftp服务器上传文件-FTP上传时出现out空指针

问题描述 FTP上传时出现out空指针 OutputStream out = ftpClient.appendFileStream(new String(remoteFile.getBytes("GBK"), "iso-8859-1")); 我使用ftp断点上传两份文件,第一份全英文的通过,第二份在文件名中存在中文,上面这句话就会出现out空指针,求大神指点 解决方案 可能是编码,换成utf-8试试

使用ftp软件上传下载php文件时php文件中换行丢失

   在使用ftp软件上传下载php源文件时,我们偶尔会发现在本地windows下notepad++编辑器写好的php文件,在使用ftp上传到linux服务器后,php文件的换行符全部丢失了,导致php文件无法正常运行.     这个时候,再次通过ftp软件把刚才上传的php文件下载到本地windows,用notepad++编辑器打开后,发现php源代码变成了一行,换行丢失.     发生这种情况的原因是什么呢?飘易就以一句话概括下:     由于linux下换行是n,而windows下换行是r

ftp并发上传文件至服务器

问题描述 ftp并发上传文件至服务器 使用普通电脑配置的FTP服务器,大概会出现十几个同时上传或者下载文件吧,能在服务器端或者客户端程序进行限制,防止不用用户同时上传同一文件吗?

php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)_php技巧

php使用ftp实现文件上传代码片段: <?php /** * ftp上传文件类 */ class Ftp { /** * 测试服务器 * * @var array */ private $testServer = array( 'host' => 'ip', 'port' => 21, 'user' => 'userName', 'pwd' => 'password' ); /** * 打开并登录服务器 * * @param string $flag 服务器标识test *

asp.net,VS2012中如何在上传文件时可以一起选择多个不同种类的文件

问题描述 asp.net,VS2012中如何在上传文件时可以一起选择多个不同种类的文件 asp.net,VS2012中如何在上传文件时可以一起选择多个不同种类的文件,求大神解答,新手..,拜托了....

java ftp上传过程中服务器断连后怎么重新连接

问题描述 java ftp上传过程中服务器断连后怎么重新连接 public boolean upload(File fileXML xml1) throws Exception{ try { bstate=0; while(ftp==null || bstate<2) { sleep(500); bstate=connect(xml1); if(ftp==null || bstate<2){ System.out.println(""连接服务器失败,请检查服务器是否开启!&

ftp服务器上传文件-ftp服务器上传没错误,,但ftp服务器相应目录下没有找到上传文件

问题描述 ftp服务器上传没错误,,但ftp服务器相应目录下没有找到上传文件 public void remoteUpload()throws Exception{ FTPClient f = new FTPClient(); f.connect("***.***.***.***", 21); f.login("intf","intf"); System.out.println(f.isConnected()); f.setControlEnco

ftp服务器上传没错误,,但ftp服务器相应目录下没有找到上传文件

问题描述 ftp服务器上传没错误,,但ftp服务器相应目录下没有找到上传文件 public void remoteUpload()throws Exception{ FTPClient f = new FTPClient(); f.connect("***.***.***.***", 21); f.login("intf","intf"); System.out.println(f.isConnected()); f.setControlEnco

如何在命令行中使用 ftp 命令上传和下载文件

如何在命令行中使用 ftp 命令上传和下载文件 本文中,介绍在 Linux shell 中如何使用 ftp 命令.包括如何连接 FTP 服务器,上传或下载文件以及创建文件夹.尽管现在有许多不错的 FTP 桌面应用,但是在服务器.SSH.远程会话中命令行 ftp 命令还是有很多应用的.比如.需要服务器从 ftp 仓库拉取备份. 步骤 1: 建立 FTP 连接 想要连接 FTP 服务器,在命令上中先输入ftp然后空格跟上 FTP 服务器的域名 'domain.com' 或者 IP 地址 例如: ft