Как отправить массив строк с помощью сокетов и objectoutputstream - PullRequest
2 голосов
/ 20 августа 2011

У меня есть это для отправки строки или целого числа, но если я хочу отправить массив строк, что я должен использовать?

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

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

Заранее спасибо

1 Ответ

6 голосов
/ 20 августа 2011

Просто напишите массив

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

Если вы используете ObjectOutputStream, вам не нужно разбираться с байтовыми массивами - класс предоставляет высокоуровневые методы для чтения и записи целых объектов.

Аналогично:

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

Вам нужно использовать методы write(byte[]), только если вы используете необработанный низкоуровневый класс OutputStream.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...