У меня возникают проблемы при попытке получить 2-d/массив String
через ObjectOutputStream
. Мой код для отправки массива является:Deserializing объектов, отправленных через ObjectOutpoutStream
String [][] sendable = new String [n][5];
ObjectOutputStream os = new ObjectOutputStream(socket.getOutputStream());
os.writeObject(sendable);
Предположим, мой массив инициализируется со всеми значениями, как я могу распаковать полученные данные обратно в 2-й массиве? Мой первый подход заключался в этом, но это вызывало проблемы, поскольку я относительно новичок в программировании на Java и сокетах.
ObjectInputStream ois =new ObjectInputStream(clientSocket.getInputStream());
String insa[][] = null;
try{
insa= (String[][]) ois.readObject();
} catch (ClassNotFoundException ex){
ex.printStackTrace();
}
System.out.println(insa[0][1]);
Как получить 2-мерный массив, отправленный как объект?
С первого взгляда, это должно сработать. Какие проблемы вы видите? – lreeder
Клиентское приложение не отвечает после объявления objectinputstream. он как бы застрял в цикле while, ожидающем ввода – user3070524
Я предлагаю, что он застрял в конструкторе ObjectInputStream. – EJP