gpt4 book ai didi

java - InputStreamReader readLine 方法返回错误的字符串

转载 作者:行者123 更新时间:2023-11-30 10:09:34 28 4
gpt4 key购买 nike

我正在尝试通过套接字将字符串从我的 java 服务器发送到 android 客户端。 InputStreamReader 的读取方法返回的不是显示正确的字符串“OK”“�OK”。

服务器的代码如下所示:

public void run() {
try {
DataOutputStream dOut = new DataOutputStream(socket.getOutputStream());
dOut.writeUTF("OK");
dOut.flush();
dOut.close();
socket.close();
System.out.println("Disconnected from client number: " + id);
} catch (IOException ex) {
Logger.getLogger(ThreadImpl.class.getName()).log(Level.SEVERE, null, ex);
}
}

客户端的代码如下所示:

public void run() {
try {
Socket socket = null;
try {
socket = new Socket("10.0.2.2", 1978);
} catch (IOException e) {
e.printStackTrace();
}
String serverRes = null;
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
ServerRes = reader.readLine();
System.out.println(ServerRes);
reader.close();
socket.close();
} catch (Exception e) {
e.printStackTrace();
}
}

最佳答案

您应该使用 DataInputStream 而不是 InputStreamReader。这是你问题的根源

InputStreamReader reader = new DataInputStream(socket.getInputStream()));
String inStr = reader.readUTF();

关于java - InputStreamReader readLine 方法返回错误的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53196146/

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