2017-12-11 34 views
-1

私は現在、インターネットデバイスからデータを取得するためのJavaプログラムを開発中です。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); 

事は、中にループが正しく受信されています。しかしその後、最後の行の印刷機能ではデータはもはや利用できません。誰かが私が間違っていることを知っていますか?

+1

'静的な文字列tempstringを;'メソッドに位置している場合、コンパイルすることはできません。実際のコードを投稿してください。 – davidxxx

+0

しかし、あなたのループは 'tempstring == null'のときだけ終了するので、最終行ではnullです。 –

答えて

0

whileループを終了するときに、すべての繰り返しでreaderから読み取られた行が割り当てられ、nullが返されるため、null値を出力しようとしているようです。後で使用するには、読み込んだすべての行を連結する必要があります。このような 何かが動作します:

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

私に仕事をした、ありがとう!私は今私が間違っていたことを知っている! :)ありがとう! –

関連する問題