У меня есть какое -то странное поведение, которое я не понимаю - я надеюсь, что кто -то сделает!
Я пишу несколько данных в BytearRayoutputStream, а затем прочитал их обратно в свой объект, чтобы проверить, что это работало - все хорошо.
Я пишу те же данные в файловый объект, и он не прочитал. Похоже, он использует механизмы DataInput по умолчанию, но в этом коде не удается с помощью EOF. Такое ощущение, что он читает в байтах в другом коде или что -то в этом роде? File file = new File("myfile");
OutputStream outputStream = new FileOutputStream(file);
// uncomment this to make this code work
// outputStream = new ByteArrayOutputStream();
DataOutputStream output=new DataOutputStream(outputStream);
pcfMessage.write(output);
// flush everything I can think of !
output.flush();
outputStream.flush();
output.close();
outputStream.close();
// now, read the object back in
InputStream inputStream = new FileInputStream(file);
// uncomment this line to make it work
// inputStream = new ByteArrayInputStream(((ByteArrayOutputStream) outputStream).toByteArray());
DataInputStream in = new DataInputStream(inputStream);
// below line works fine when it's just a bytearray but fails when it's gone to disk (windows)
PCFMessage message = new PCFMessage(in);
Подробнее здесь: https://stackoverflow.com/questions/797 ... tputstream
Java fileOutputStream не ведет себя как BytearRayOutputStream [закрыто] ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Я пытаюсь перехватить java.io.FileOutputStream с помощью агента байтового приятеля на Tomcat
Anonymous » » в форуме JAVA - 0 Ответы
- 17 Просмотры
-
Последнее сообщение Anonymous
-