gpt4 book ai didi

java - 如何从 Java 中的 InputStream 对象中读取包含换行符的字符串?

转载 作者:行者123 更新时间:2023-12-04 20:45:13 27 4
gpt4 key购买 nike

我有一个 Java 中的 ServerSocket:

ServerSocket serverSocket = new ServerSocket(1000);

接受clientSocket:

Socket clientSocket;
clientSocket = serverSocket.accept();

到目前为止,我一直在阅读这样的输入:

BufferedReader clientSocketInputStream = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
while ((inputLine = clientSocketInputStream.readLine()) != null){
String message = inputLine;
// Hack the computer connecting to this one after here

但是,如果发送的文本类似于

String stringToBeSent = "Hello\nHowareyou"; 

那我就有麻烦了。因为我需要这个文本。 2 个不同的字符串对我没有帮助。

我怎样才能按原样阅读它?

谢谢。

最佳答案

两种选择:

  • 将多个字符串重新组合在一起。

    StringBuilder sb = new StringBuilder()
    while ((inputLine = clientSocketInputStream.readLine()) != null)
    {
    String message = inputLine;
    sb.append(message);
    sb.append('\n');
    }
    String message = sb.toString();
  • 使用 BufferedInputStream 而不是 BufferedReader 读取字节数组而不是 String。然后使用有效的字符集将整个字节数组粉碎到 String 构造函数中。这将要求您知道字符串的字节数。

关于java - 如何从 Java 中的 InputStream 对象中读取包含换行符的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20813661/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com