java的socket传输文件,发送与接收文件的内容不一致
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java的socket传输文件,发送与接收文件的内容不一致相关的知识,希望对你有一定的参考价值。
服务端:
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);
省略了许多无关代码,能正常传送文件,文件大小也一样,但,文件内容却不相同,不知道是为什么?????
文件是一张图片,传送过去大小是一样的,但打不开,换成其他文件也一样
我也想可能是编码问题,但怎么改呢,文件是一张图片,传送过去大小一致,但打不开,FileInputStream与FileOutputStream好像跟编码处理无关的吧
追答我这试了一下是可以的,给你参考下吧。 关键代码差不多。你自己再试试吧。
文件是一张图片,传送过去大小一致,但打不开,如果是编码问题,怎么改呢?服务器与客户端的默认编码确实不一致
以上是关于java的socket传输文件,发送与接收文件的内容不一致的主要内容,如果未能解决你的问题,请参考以下文章