当前位置: 首页 > 知识库问答 >
问题:

PrintWriter println(字符串%s)方法:\r\n不支持?

弓宏茂
2023-03-14

我正在创建一个多线程聊天客户端服务器应用程序。在服务器连接中,我使用PrintWriter println(String s)方法将响应写入客户端。

PrintWriter out;
String msg = in.readLine();
String response = "";
if (msg.startsWith("nick: ") {
    response = protocol.authenticate(msg); //returns a String that says "welcome " + nick
    //if there are messages pending for the author who logged in add them to the response String
         response+="\r\n"+textmsg;
} else { ... }
out.println(response);

当我运行使用BufferedReader readLine()方法从服务器读取的客户机时,我会得到欢迎消息,但不会得到客户机的挂起消息,但是如果我使用

response+=textmsg;

共有1个答案

施德运
2023-03-14

对每行输出调用一次println,或者只使用\n,而不使用\r。这是Java的标准换行符,\r\n是Windows特定的行尾序列。当然,在客户端,您现在也必须调用readline两次。没有办法调用readline一次就得到两行。如果需要自定义分隔符,则必须使用其他分隔符,而不是\n

 类似资料:
  • 问题内容: 这可能是一个非常简单的修复程序,但我无法弄清楚! 给定以下文本,我正在尝试连续匹配(最多)3个大写单词。 。比赛应包括所有3个单词。 此正则表达式将匹配前两个单词,但不匹配第三个单词(此处为demo): 这个正则表达式 将 匹配所有3个单词,但是我必须在之间复制/粘贴空格,然后它才能正常工作(此处演示): 所以我假设也许空白不被当作空白,而是换行符或类似字符,所以我尝试了这个(这里是演

  • 主要内容:适用于字符串构造的规则,字符串操作在R中的单引号或双引号中写入的任何值都将被视为字符串。在R内部将每个字符串存储在双引号内,即使您使用单引号创建它们。 适用于字符串构造的规则 字符串开头和结尾的引号应为双引号或双引号,他们不能混合。 双引号可以插入到以单引号开始和结尾的字符串中。 单引号可以插入到以双引号开始和结尾的字符串中。 双引号不能插入到以双引号开始和结尾的字符串中。 单引号无法插入到以单引号开始和结尾的字符串中。 有效字符

  • 一个字符串一般有几个子串? 这里有一个链接[http://ocw.mit.edu/courses/electrice-engineering-and-computer-science/6-006-Introduction-to-algorithms-Fall-2011/lecture-videos/mit6_006F11_lec21.pdf]

  • 据我了解 将创建两个对象- 一个在String常量池中(如果不在常量池中) 堆内存中的一个 虽然对于实际创建多少对象以及在何处创建对象,人们的理解并不多。 不管怎样,我有以下问题- 为什么在String类的java文档中没有提到要创建多少对象以及在哪里创建 编辑 java docs for方法显然谈到了常量池,但在中没有这样说。

  • 问题内容: 我在提交表单时从管理员通过textarea检索存储在数据库中的产品描述值。当我选择从数据库中的描述,我得到,我想响应主页上$描述是这样的:但我看到的字符而不是制造新的行。根据我在网上发现的信息,必须在双引号之间使用您的字符串,如下所示: 现在,from数据库的值实际上是,但是在我的脚本中,我必须像这样使用它: 哪个不产生br,而是输出。因此,根据我的经验,我该怎么办,不能在此处使用双引

  • 问题内容: 有没有简单的方法可以向现有字符串中添加n次字符或另一个字符串?我无法找到任何东西,等等。 问题答案: 您可以使用Java 8流API来执行此操作。以下代码从创建字符串: