在java中下载文件时出错-java.net.SocketException:连接重置
我正在尝试用java中的socket和server下载一个文件在java中下载文件时出错-java.net.SocketException:连接重置,java,sockets,Java,Sockets,我正在尝试用java中的socket和server下载一个文件 myClient = new Socket(address,port); myClient.setSoTimeout(MyFileManager.TIME_OUT); in = new DataInputStream(myClient.getInputStream()); out = new DataOutputStream(myClient.getOutputStream()); File requestedFi
myClient = new Socket(address,port);
myClient.setSoTimeout(MyFileManager.TIME_OUT);
in = new DataInputStream(myClient.getInputStream());
out = new DataOutputStream(myClient.getOutputStream());
File requestedFile = new File(_fileManager.getDir()+fileName); //creating the new file
// requestedFile.createNewFile(); //now it does
fos = new FileOutputStream(requestedFile);
long size = in.readLong(); //get the size
for (int i=1; i<=size; i++) {
try {
fos.write(in.read());
}
catch (IOException e) {
e.printStackTrace();
}
}
myClient=新套接字(地址、端口);
myClient.setSoTimeout(MyFileManager.timeout);
in=新的DataInputStream(myClient.getInputStream());
out=newdataoutputstream(myClient.getOutputStream());
File requestedFile=新文件(_fileManager.getDir()+文件名)//创建新文件
//requestedFile.createNewFile()//现在是了
fos=新文件输出流(请求文件);
长尺寸=in.readLong()//知道尺寸了吗
对于(inti=1;i我认为循环应该是这样的:
for (int i=0; i<size; i++)...
for(int i=0;i为什么您认为此行返回流中的字节数
long size = in.readLong(); //get the size
您应该在.read()中执行,
,直到它返回-1。请使用格式化您的代码。我想知道您在哪里找到了DataInputStream.read(void)
方法。