【发布时间】:2014-09-16 15:05:57
【问题描述】:
如何在此方法中实现检查以仅在“消息”为整数时打印出来。 但是如果消息不是整数,那么什么都不做,等待下一个,我尝试解析它,但是如果我打印出“消息”并且如果“消息”不是整数,它将只打印出空字符串。
void startListenForTCP (String ipaddress){
Thread TCPListenerThread;
TCPListenerThread = new Thread(new Runnable() {
@Override
public void run() {
Boolean run = true;
String serverMessage = null;
InetAddress serverAddr = null;
try {
Socket clientSocket = new Socket(ipaddress, 7420);
try
{
mc.pushNumbers("Connection initiated... waiting for outputs!"+"\n");
char[] buffer = new char[2048];
int charsRead = 0;
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
while ((charsRead = in.read(buffer)) != -1)
{
String message = new String(buffer, 0, charsRead);
String m = message;
//I need to print out 'm' if it an numberhere
System.out.println("Result:"+m);
mc.pushNumbers(m);
}}
catch(UnknownHostException e) {
mc.pushNumbers("Unknown host..."+"\n");
} catch(IOException e) {
mc.pushNumbers("IO Error..."+"\n");
} finally {
clientSocket.close();
}
} catch (IOException e) {
e.printStackTrace();
mc.pushNumbers("Connection refused by machine..."+"\n");
}
}
});
TCPListenerThread.start();
}
【问题讨论】:
-
您能指出您在代码中解析过的那一行或多行吗?
-
不,不,我已经尝试解析它并且没有解析,我将立即在底部添加解析部分。
-
很不清楚您在问什么或在说什么?你能澄清一下吗?
-
好的,我从缓冲阅读器得到字符串'm',那个字符串可以是任何东西。但我想打印出接收到的字符串是否为 int,如果不是 int,则忽略该字符串继续阅读。
标签: java