代码之家  ›  专栏  ›  技术社区  ›  gamma_spec

java套接字数据处理

  •  -1
  • gamma_spec  · 技术社区  · 7 年前

    我目前正在开发一个java程序,以从internet设备获取数据。

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

    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循环中,数据被正确接收。但在此之后,在最后一行打印功能中,数据不再可用。有人知道我做错了什么吗?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Nix    7 年前

    似乎您正试图打印空值,因为您正在分配从中读取的行 reader 对于每次迭代,因此在退出while循环时将为null。为了以后使用,您需要将所读的每一行串联起来。 像这样的事情会奏效:

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