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);
}
省略了许多无关代码,能正常传送文件,文件大小也一样,但,文件内容却不相同,不知道是为什么?????
文件是一张图片,传送过去大小是一样的,但打不开,换成其他文件也一样
展开
 我来答
xupeiying
2013-11-05 · TA获得超过468个赞
知道小有建树答主
回答量:553
采纳率:0%
帮助的人:569万
展开全部
确认下文件的编码问题。 不行就传一个或俩个字节过去debug一下呗。
追问
我也想可能是编码问题,但怎么改呢,文件是一张图片,传送过去大小一致,但打不开,FileInputStream与FileOutputStream好像跟编码处理无关的吧
追答

我这试了一下是可以的,给你参考下吧。  关键代码差不多。你自己再试试吧。

小妖齐天
2013-11-05 · TA获得超过142个赞
知道答主
回答量:145
采纳率:0%
帮助的人:39.8万
展开全部
还真简便。。。编码不一样不是重点。。。重点是图片的格式哦,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pangzhiming
2013-11-05 · TA获得超过374个赞
知道小有建树答主
回答量:787
采纳率:100%
帮助的人:348万
展开全部
很可能是编码的问题吧。
追问
文件是一张图片,传送过去大小一致,但打不开,如果是编码问题,怎么改呢?服务器与客户端的默认编码确实不一致
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式