java的socket传输文件,发送与接收文件的内容不一致
服务端:ObjectOutputStreamoos=newObjectOutputStream(socket.getOutputStream()FileInputStre...
服务端:
ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream()
FileInputStream fis=new FileInputStream(fileName)
byte[] b = new byte[512];
int len;
NetData netData=new NetData();
while ((len = input.read(b)) != -1) {
netData.data=b;
netData.len=len;
oos.writeObject(netData);
}
客户端:
ObjectInputStream ois = new ObjectInputStream(socket.getInputStream()
FileOutputStream fos=new FileOutputStream(fileName);
NetData netData;
while ((netData =(NetData)ois.readObject()) != null) {
fos.writeObject(netData.data,0,netData.len);
}
省略了许多无关代码,能正常传送文件,文件大小也一样,但,文件内容却不相同,不知道是为什么?????
文件是一张图片,传送过去大小是一样的,但打不开,换成其他文件也一样 展开
ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream()
FileInputStream fis=new FileInputStream(fileName)
byte[] b = new byte[512];
int len;
NetData netData=new NetData();
while ((len = input.read(b)) != -1) {
netData.data=b;
netData.len=len;
oos.writeObject(netData);
}
客户端:
ObjectInputStream ois = new ObjectInputStream(socket.getInputStream()
FileOutputStream fos=new FileOutputStream(fileName);
NetData netData;
while ((netData =(NetData)ois.readObject()) != null) {
fos.writeObject(netData.data,0,netData.len);
}
省略了许多无关代码,能正常传送文件,文件大小也一样,但,文件内容却不相同,不知道是为什么?????
文件是一张图片,传送过去大小是一样的,但打不开,换成其他文件也一样 展开
3个回答
展开全部
还真简便。。。编码不一样不是重点。。。重点是图片的格式哦,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很可能是编码的问题吧。
追问
文件是一张图片,传送过去大小一致,但打不开,如果是编码问题,怎么改呢?服务器与客户端的默认编码确实不一致
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询