Java socket 文件传输中遇到的问题,望高手解答!
首先,我有一个客户端与一个服务器。服务器发送文件,客户端接收。已知服务器端的文件大小为:10000字节。客户端使用如下方法接收文件并将文件写入本地(假设服务器已经将文件发...
首先,我有一个客户端与一个服务器。服务器发送文件,客户端接收。
已知服务器端的文件大小为:10000字节。
客户端使用如下方法接收文件并将文件写入本地(假设服务器已经将文件发出):
byte[] buffer=new byte[1024];
private DataInputStream myDataInputStream = new DataInputStream(new
BufferedInputStream(mySocket.getInputStream()));
private FileOutputStream myFileOutputStream = new FileOutputStream(new File("C\\:test.png"));
public void getFile()
{
int count=0;
int all=0;
do
{
count=myDataInputStream.read(buffer,0,buffer.length);
myFileOutputStream.write(buffer,0,count);
all+=count;//记录一共接收了多少文件
}
while(count>-1);
}
可是最后all的值为9999,并且getFile()报出了数组越界异常。
请问该如何解决这个问题? 展开
已知服务器端的文件大小为:10000字节。
客户端使用如下方法接收文件并将文件写入本地(假设服务器已经将文件发出):
byte[] buffer=new byte[1024];
private DataInputStream myDataInputStream = new DataInputStream(new
BufferedInputStream(mySocket.getInputStream()));
private FileOutputStream myFileOutputStream = new FileOutputStream(new File("C\\:test.png"));
public void getFile()
{
int count=0;
int all=0;
do
{
count=myDataInputStream.read(buffer,0,buffer.length);
myFileOutputStream.write(buffer,0,count);
all+=count;//记录一共接收了多少文件
}
while(count>-1);
}
可是最后all的值为9999,并且getFile()报出了数组越界异常。
请问该如何解决这个问题? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询