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

被折叠的 条评论
为什么被折叠?



