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:
parent
c9407e4c67
commit
39f90b7ce0
5 changed files with 120 additions and 29 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue