Socket使用BufferedReader和BufferedWriter读不到数据的问题 深藏阁楼爱情的钟 2022-12-10 14:40 177阅读 0赞 BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); /** * 服务端 */ public class Server { public static void main(String[] args) throws IOException { ServerSocket serverSocket = new ServerSocket(8080); while (true) { Socket socket = serverSocket.accept(); System.out.println("客户端连接成功..."); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); writer.write("服务端连接成功"); writer.flush(); // writer.flush()后客户端也读不到数据 System.out.println("发送消息..."); } } } /** * 客户端 */ public class Client { public static void main(String[] args) throws IOException { Socket socket = new Socket("127.0.0.1", 8080); BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); String msg = reader.readLine(); System.out.println(msg); } } 准确的说不是因为flush方法的问题,而是因为服务器端接受数据时使用的**readLine()**方法必须要接收到一个换行符才能读取一行,再发送一个换行符,如write("\\n"),服务器端就能接收到了。当然,flush()也是必须要执行的。 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwNzk0OTcz_size_16_color_FFFFFF_t_70][] /** * 服务端 */ public class Server { public static void main(String[] args) throws IOException { ServerSocket serverSocket = new ServerSocket(8080); while (true) { Socket socket = serverSocket.accept(); System.out.println("客户端连接成功..."); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); writer.write("服务端连接成功"); // 以下三个任意一个都可以 writer.write("\n"); // 换行符 //writer.write("\r"); //writer.write("\r\n"); writer.flush(); // 这个也必须执行 System.out.println("发送消息..."); } } } /** * 服务端 */ public class Server { public static void main(String[] args) throws IOException { ServerSocket serverSocket = new ServerSocket(8080); while (true) { Socket socket = serverSocket.accept(); System.out.println("客户端连接成功..."); PrintStream ps = new PrintStream(socket.getOutputStream()); ps.println("服务端连接成功"); // 换成 ps.print 同样收不到消息 System.out.println("发送消息..."); } } } > [https://blog.csdn.net/ge1mina023/article/details/51535505][https_blog.csdn.net_ge1mina023_article_details_51535505] [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwNzk0OTcz_size_16_color_FFFFFF_t_70]: /images/20221123/c39d399ece0945c2ae6676d4bbbef116.png [https_blog.csdn.net_ge1mina023_article_details_51535505]: https://blog.csdn.net/ge1mina023/article/details/51535505
相关 Java IO流操作:文件读写、BufferedReader/ BufferedWriter示例 在Java中,IO流主要是用来进行文件的读写操作。以下是一些常用的IO流示例: 1. 文件读写(使用`FileInputStream`和`FileOutputStream`) 小咪咪/ 2024年09月11日 06:33/ 0 赞/ 67 阅读
相关 Socket使用BufferedReader和BufferedWriter读不到数据的问题 BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStre 深藏阁楼爱情的钟/ 2022年12月10日 14:40/ 0 赞/ 178 阅读
相关 java 使用BufferedReader、BufferedWriter实现文本文件的复制; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File 爱被打了一巴掌/ 2022年08月14日 05:40/ 0 赞/ 184 阅读
相关 Java——BufferedReader和BufferedWriter应用实例 / 字符流的缓冲区:缓冲区是为了提高读或写的效率 只具备提高效率的功能,不具备读或者写的功能 所以使用缓冲流必须结合着读流或写流 BufferdReader:只具备提高 我会带着你远行/ 2022年06月07日 09:52/ 0 赞/ 256 阅读
相关 Java中的BufferedReader与BufferedWriter简介与使用 BufferedReader和BufferedWriter是带有默认缓冲区的字符输入输出流,其效率相较于没有缓冲区要高: 1.java.io.BufferedReader和j 分手后的思念是犯贱/ 2022年05月25日 01:41/ 0 赞/ 186 阅读
相关 IO流之BufferedWriter和BufferedReader原理研究 BufferedWriter和BufferedReader的定义 BufferedWriter “缓存字符输出流”,内置一个缓 朴灿烈づ我的快乐病毒、/ 2022年05月23日 13:52/ 0 赞/ 199 阅读
相关 JavaIO BufferedReader和BufferedWriter介绍和实例 BufferedReader和BufferedWriter简介 为了提高字符流读写的效率,引入了缓冲机制,进行字符批量的读写,提高了单个字符读写的效率。`Buffered 雨点打透心脏的1/2处/ 2022年05月16日 20:12/ 0 赞/ 153 阅读
相关 笔记 —— BufferedReader、BufferedWriter 目录 FileWriter 什么情况下使用字符流? 通过项目默认的码表一次读取一个字符 字符流是否可以拷贝非纯文本的文件 自定义字符数组拷贝 秒速五厘米/ 2022年03月22日 01:44/ 0 赞/ 216 阅读
相关 创建文件并用BUfferedReader和BufferedWriter复制文件 package com.test1; import java.io.BufferedReader; import java.io.Buffer 本是古典 何须时尚/ 2021年12月16日 19:27/ 0 赞/ 246 阅读
还没有评论,来说两句吧...