【问题标题】:java socket data processingjava socket数据处理
【发布时间】:2017-12-11 12:49:36
【问题描述】:

我目前正在开发一个从互联网设备获取数据的 java 程序。

连接和初始化过程已经按预期工作,但是当我想处理收到的数据时,发生了一些奇怪的事情......

Exception in thread "main" java.lang.NullPointerException

当我想打印收到的套接字信息时,以下代码会出现此错误:

static String tempstring;
        while((tempstring = reader.readLine()) != null){
            System.out.println("Client: " + tempstring);
        }

        System.out.print(tempstring);

问题是,在 while 循环中,数据被正确接收。但在那之后,在最后一行打印功能中,数据不再可用。有谁知道我做错了什么?

【问题讨论】:

  • static String tempstring; 如果位于方法中,则无法编译。请贴出真实代码。
  • 但是你的循环只在tempstring==null时终止,所以最后一行当然是空的。

标签: java sockets ethernet


【解决方案1】:

您似乎正在尝试打印 null 值,因为您为每次迭代分配了从 reader 读取的行,因此在退出 while 循环时为 null。您需要连接您阅读的每一行以便以后使用它。 这样的事情会起作用:

String tempstring;  
String readerData = "";  
while((tempstring = reader.readLine()) != null){
        readerData += tempstring;
        System.out.println("Client: " + tempstring);
}
System.out.print(readerData);

【讨论】:

  • 为我完成了这项工作,非常感谢!我现在知道我做错了什么! :) 谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-06
  • 2022-11-20
  • 1970-01-01
  • 2021-10-26
  • 1970-01-01
相关资源
最近更新 更多