Если вы используете ObjectOutputStream
на одной стороне, вам придется использовать ObjectInputStream
на другой стороне.
В вашем случае подойдет простой OutputStream (возможно, буферизованный) и .write()
и .read()
.
Но для печати не используйте byte[].toString()
, используйте Arrays.toString()
, если вы хотите иметь форматированный вывод.
Редактировать: Я просто вижу, что вы даже не пишете свой массив на отправляющей стороне. Таким образом, вы на самом деле только читаете заголовок ObjectOutputStream.
Из комментария:
Я работаю на стороне сервера, и мне сказали, что я отправлю байтовый массив. Как
получить и распечатать этот байтовый массив? байтовый массив в данном случае это байты текста / строк
Звучит так, будто сервер отправляет что-то вроде строк, закодированных в какой-то кодировке, например, ASCII, UTF-8 или ISO-8859-1. Если это так, на принимающей стороне вы можете использовать что-то вроде этого:
String encoding = "UTF-8";
BufferedReader in =
new BufferedReader(new InputStreamReader(connection.getInputStream(),
encoding));
String line;
while((line = in.readLine()) != null) {
System.out.println(line);
}
Конечно, убедитесь, что кодировка совпадает с кодировкой, фактически используемой на отправляющей стороне.
Соответствующий код отправки может быть примерно таким:
String encoding = "UTF-8";
Writer w =
new BufferedWriter(new OutputStreamWriter(connection.getOutputStream(),
encoding));
w.write("Hello World!\n");
w.write("And another line.\n");
w.flush();