使用套接字发送对象 - JAVA

时间:2013-09-02 11:14:53

标签: java arrays sockets stream

所以我正在使用套接字创建一个应用程序。我让客户端发送消息并使用writeObject(new String("Name|Message"));传递给服务器。

我使用readObject();

在服务器中阅读了该消息

我正在尝试将此字符串对象传递给数组。但我得到[Ljava.lang.String;@6bb9ae1a

以下是我的尝试:

ObjectInputStream saida = new ObjectInputStream(client.getInputStream());
String[] read = saida.readObject().toString().split("|");
System.out.println(read);

我还尝试为每个分割创建变量:

   String readm = read[1];
   String readn = read[0];

但是它返回“”作为名称,“A”作为消息(?)

Ow,套接字正在工作,因为如果我(String) saida.readObject();,它会返回正常的字符串。

1 个答案:

答案 0 :(得分:0)

使用那样:

saida.readObject().toString().split("\\|"); 

然后

String readm = read[1];
String readn = read[0];

因为管道符号是特殊字符,分裂特殊字符是不同的。并且您不能使用systemoutprintln来打印字符串数组。