Ho una presa sulla quale scrivo alcuni dati di carattere e alcuni dati di byte grezzi. Per i dati dei personaggi, è più facile usare uno PrintWriter
. Per i dati di byte non elaborati, è più facile scrivere direttamente su OutputStream
. Così tutto il mio codice, ho segmenti come questo:C'è un modo per chiudere un writer senza chiudere lo stream sottostante?
Writer writer = new PrintWriter(outputStream);
writer.write(someText);
...
writer.flush();
// No call to writer.close(), because that would close the underlying stream.
Finché io sono attento a non scrivere in questo Writer
dopo aver iniziato a scrivere al flusso in qualche altro modo, questo va bene. Ma preferirei la sicurezza di sapere che otterrò uno IOException
se accidentalmente scrivo nello stream (come farei se lo avessi chiuso).
C'è un modo per impedire esplicitamente le future scritture a Writer
senza chiudere il flusso sottostante?