java Socket 一行一行地读和一行一行的写

本文详细介绍了在使用socket进行编程时,如何正确地处理文件的一行一行读取并发送的问题,特别关注了换行符的处理。通过实例演示了在服务器端和客户端分别如何正确地读取文件并写入文件,避免了换行符导致的数据错误。文章旨在帮助开发者解决常见但容易忽视的细节问题,提升socket编程的效率和准确性。

最近在写与socket有关的编程,遇到了一个问题——如何一行一行的从服务器文件读出来,然后通过socket发到客户端,在客户端有一行一行的写入文件。刚开始,一行一行的读是没有什么问题的,可是流发到客户端后,却不能用一行一行的写入到本地文件,即使在接收流的时候,用到了

......
bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(savePath)));
while((line = br.readLine()) != null) {
bw.write(line + "\r\n");
// 或者bw.newLine();
// 或者String str = line + "\n"
}
......

还是其他方法,只要你在发出端不添加换行,问题还是解决不了,正确的方法是,在流的发出端和流的接收端同时使用换行,如下:

bw.write(line + "\r\n");


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值