Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何检查来自服务器的数据是序列化数组还是简单字符串?_Java - Fatal编程技术网

Java 如何检查来自服务器的数据是序列化数组还是简单字符串?

Java 如何检查来自服务器的数据是序列化数组还是简单字符串?,java,Java,我需要连载 ArrayList<String> arr=new ArrayList<String>(); 客户端从服务器接收字节 byte[] buf=new byte[1024*100]; //данные приходные int r=s.getInputStream().read(buf); 如何检查它是我的ArrayList,然后反序列化还是仅仅是一个字符串?您不必检查。您编写了一个序列化对象:它是一个序列化对

我需要连载

ArrayList<String> arr=new ArrayList<String>();
客户端从服务器接收字节

        byte[] buf=new byte[1024*100];
        //данные приходные
        int r=s.getInputStream().read(buf);

如何检查它是我的ArrayList,然后反序列化还是仅仅是一个字符串?

您不必检查。您编写了一个序列化对象:它是一个序列化对象。使用
ObjectInputStream.readObject()
阅读它

您可以使用
instanceof
检查序列化对象的类型


你不需要那里的ByteArrayoutPuttStream。只需构造新的ObjectOutputStream(socket.getOutputStream())并直接执行
writeObject()
。这样做只会浪费时间、空间和金钱。

你不必检查。您编写了一个序列化对象:它是一个序列化对象。使用
ObjectInputStream.readObject()
阅读它

您可以使用
instanceof
检查序列化对象的类型


你不需要那里的ByteArrayoutPuttStream。只需构造新的ObjectOutputStream(socket.getOutputStream())并直接执行
writeObject()
。这样做只会浪费时间、空间和金钱。

我不仅仅发送序列化数组。我也会向客户端发送字符串-不同的消息。@Аааааааааааааааааааааааа。如果你不知道接下来会发生什么,就不要混用API。我不仅仅发送序列化数组。我也会向客户端发送字符串-不同的消息。@Аааааааааааааааааааааааа。如果你不知道接下来会发生什么,就不要混用API。
        byte[] buf=new byte[1024*100];
        //данные приходные
        int r=s.getInputStream().read(buf);