PipedWriter.java (flush): Throw exception if stream closed.

* java/io/PipedWriter.java (flush): Throw exception if stream
	closed.
	* java/io/OutputStreamWriter.java (write): Throw exception if
	stream closed.
	(writeChars): Don't throw exception if stream closed.
	* java/io/CharArrayWriter.java (closed): New field.
	(close): Set it.
	(flush): Throw exception if stream closed.
	(reset): Synchronize on correct lock.  Allow stream to be
	reopened.
	(toCharArray, toString, writeTo): Synchronize.
	(write): Throwe exception if stream closed.
	* java/io/BufferedWriter.java (close): Clear `buffer'.
	(flush): Throw IOException if stream is closed.
	(write): Likewise.

From-SVN: r39927
This commit is contained in:
Tom Tromey 2001-02-20 19:01:55 +00:00 committed by Tom Tromey
parent c9407e4c67
commit 39f90b7ce0
5 changed files with 120 additions and 29 deletions

View file

@ -86,6 +86,9 @@ public class OutputStreamWriter extends Writer
{
synchronized (lock)
{
if (out == null)
throw new IOException("Stream closed");
if (wcount > 0)
{
writeChars(work, 0, wcount);
@ -100,9 +103,6 @@ public class OutputStreamWriter extends Writer
private void writeChars(char[] buf, int offset, int count)
throws IOException
{
if (out == null)
throw new IOException("Stream closed");
while (count > 0)
{
// We must flush if out.count == out.buf.length.
@ -127,6 +127,9 @@ public class OutputStreamWriter extends Writer
{
synchronized (lock)
{
if (out == null)
throw new IOException("Stream closed");
if (work == null)
work = new char[100];
int wlength = work.length;
@ -155,6 +158,9 @@ public class OutputStreamWriter extends Writer
{
synchronized (lock)
{
if (out == null)
throw new IOException("Stream closed");
if (work == null)
work = new char[100];
if (wcount >= work.length)