问题描述
我用了你的程序运行了一下,但是我用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~