我可以记录 BufferedReader.readLine()
的结果与 Log.e("debug", e.getMessage())
,但无法将结果分配给 String
。这是为什么?
new Thread() {
@Override
public void run() {
try {
//Connecting
Log.i(debugString, "Attempting to connect to server");
socket = new Socket(hostname, portnumber);
Log.i(debugString, "Connection established!");
//receive message from server
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
Log.e(debugString, br.readLine()); // This works, but really...
String s = br.readLine(); // ...this is how I *want* to save it.
} catch (IOException e) {
Log.e(debugString, e.getMessage());
}
}
}.start();
最佳答案
您没有显示任何尝试显示 readLine()
调用结果的代码。如果您希望结果显示在您的应用程序中,则必须在您的应用程序中显示结果。您将读取的值分配给变量s
(顺便说一句,这不是一个好名字),然后默默地删除引用,从而在显示返回值之前丢失它。
此外,您需要处理IOException
,而不仅仅是记录它,并且您应该在离开子例程之前关闭 I/O 连接。
关于java - 无法将 BufferedReader.readLine() 的结果保存到 String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41578535/