Я пытаюсь сериализовать объект в ZipEntry с помощью ObjectOutputStream, но, похоже, он ничего не пишет, потому что когда я печатаю массив байтов, он показывает null. Я попытался написать строку с ZipOutputStream, и после печати полученный массив байтов получил значительный результат. Итак, мой вопрос: почему поток objectoutput неправильно записывает в ZipEntry. (ConfigEntry реализует Serializable).Java ObjectOutputStream Not Writing to ZipEntry
String s = "Tired, Exhausted";
ConfigEntry con = new ConfigEntry("rand", "random", 3);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
ZipOutputStream zos = new ZipOutputStream(baos);
ZipEntry entry = new ZipEntry("test.txt");
ObjectOutputStream obs = new ObjectOutputStream(zos);
zos.putNextEntry(entry);
obs.writeObject(con);
obs.close();
zos.closeEntry();
zos.close();
} catch(IOException ioe) {
ioe.printStackTrace();
}
os = bs.getOutputStream();
byte[] result = baos.toByteArray();
String test = new String(result, "UTF-8");
Log.v("Mac Address", test);
Log.v("Mac Address", Arrays.toString(result));
Извините, это было на самом деле плохо, я хотел поставить инструкцию try после ByteArrayOutputStream, как в моем коде. Извините за плохой код. Отредактировал мой вопрос. – KilRil