3
クライアントからObjectOutputStreamおよびWriteObjectメソッドを使用して整数配列を送信しようとしています。ここでは、それぞれクライアントとサーバーのコードです:Javaソケットから送信するときにInteger配列にブランク文字列が追加される
クライアント:
int numberArray [] = new int[]{3,6,1,5,8};
ObjectOutputStream os =new ObjectOutputStream(socket.getOutputStream());
os.writeObject(numberArray);
サーバー:
ObjectInputStream is = new ObjectInputStream(socket.getInputStream());
int[] Array = (int[])is.readObject();
for (int e : Array) {
System.out.print(e + " ");
}
クライアントが正常に配列を送信することができます。しかし、私は次のようなエラーが発生し、プログラムが終了配列を読み込むしようとしているとき:
3 6 1 5 8
Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:592)
at java.lang.Integer.parseInt(Integer.java:615)
at testserver.TestServer.main(TestServer.java:73)
Java Result: 1
私が間違ってやっているところ誰もが私を伝えることができますしてください?
は、それはあなたがより多くのコードを投稿することは可能ですか?私はあなたがこれまでに持っていたことをテストし、例外はありません。 – tima
これを再現できるように[mcve]を入力してください。あなたのコードから 'parseInt'を呼び出しているようですが、あなたはそれを表示していません...(私はあなたが現在の質問から5つのアップフォートをどのように得たかはわかりません...) –