How to send a string array using sockets and objec

2019-07-16 18:51发布

问题:

I have this to send string or integer but if i want to send a string array what should i use?

  // A string ("Hello, World").
    out.write("Hello, World".getBytes());

    // An integer (123).
    out.write(ByteBuffer.allocate(4).putInt(123).array());

Thanks in advance

回答1:

Just write the array

ObjectOutputStream out = ...
String[] array = ...     
out.writeObject(array);

If you're using ObjectOutputStream, there's no need to muck about with byte arrays - the class provides high-level methods to read and write entire objects.

Similarly:

out.writeInt(123);
out.writeObject("Hello, World");

You only need to use the write(byte[]) methods if you're using the raw, low-level OutputStream class.