java socket传送文件问题

DataOutputStreamos=newDataOutputStream(socket.getOutputStream());FileInputStreamfins=... DataOutputStream os = new DataOutputStream(socket
.getOutputStream());
FileInputStream fins = new FileInputStream(path);
byte[] b = new byte[1024 * 8];
int k=0;
while (true) {
int read = 0;
read = fins.read(b);
if (read == -1)
break;
k+=read;

os.write(b, 0, read);
System.out.println("读到的长度:"+read);
os.flush();
}

我是用fileinputstream来读文件到byte数组,然后用socket的输出流传送数据,可这样子传不过去,文件都能读到,可接收端东西却读不了了。请问是哪里出了问题?
展开
 我来答
百度网友635a9af4e
2010-01-07 · TA获得超过421个赞
知道小有建树答主
回答量:213
采纳率:0%
帮助的人:252万
展开全部
System.out.println("读到的长度:"+read);这句话如果显示读取到的长度不为0,哪么说明你成功写过去了...你服务端读取也是用dataoutputstream读取吗,你要注意你用什么写过去就用什么读,不然要不读不了,要不读取的内容会出现一点问题,举个例子,不同的字符写入流,它的换行符号是不同的,如果读取的流不对,就会出现问题
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式