Initial revision
From-SVN: r26263
This commit is contained in:
parent
140fa895c6
commit
ee9dd3721b
370 changed files with 173494 additions and 0 deletions
88
libjava/java/io/PipedWriter.java
Normal file
88
libjava/java/io/PipedWriter.java
Normal file
|
@ -0,0 +1,88 @@
|
|||
// PipedWriter.java - Piped character stream.
|
||||
|
||||
/* Copyright (C) 1998, 1999 Cygnus Solutions
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package java.io;
|
||||
|
||||
/**
|
||||
* @author Tom Tromey <tromey@cygnus.com>
|
||||
* @date September 25, 1998
|
||||
*/
|
||||
|
||||
/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
|
||||
* "The Java Language Specification", ISBN 0-201-63451-1
|
||||
* Status: Complete to 1.1.
|
||||
*/
|
||||
|
||||
public class PipedWriter extends Writer
|
||||
{
|
||||
public void close () throws IOException
|
||||
{
|
||||
closed = true;
|
||||
}
|
||||
|
||||
public void connect (PipedReader sink) throws IOException
|
||||
{
|
||||
if (closed)
|
||||
throw new IOException ("already closed");
|
||||
if (reader != null)
|
||||
{
|
||||
if (reader == sink)
|
||||
return;
|
||||
throw new IOException ("already connected");
|
||||
}
|
||||
try
|
||||
{
|
||||
reader = sink;
|
||||
reader.connect(this);
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
reader = null;
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
public void flush () throws IOException
|
||||
{
|
||||
// We'll throw an exception if we're closed, but there's nothing
|
||||
// else to do here.
|
||||
if (closed)
|
||||
throw new IOException ("closed");
|
||||
}
|
||||
|
||||
public PipedWriter ()
|
||||
{
|
||||
super ();
|
||||
closed = false;
|
||||
}
|
||||
|
||||
public PipedWriter (PipedReader sink) throws IOException
|
||||
{
|
||||
super ();
|
||||
closed = false;
|
||||
connect (sink);
|
||||
}
|
||||
|
||||
public void write (char buffer[], int offset, int count) throws IOException
|
||||
{
|
||||
if (closed)
|
||||
throw new IOException ("closed");
|
||||
reader.receive(buffer, offset, count);
|
||||
}
|
||||
|
||||
boolean isClosed ()
|
||||
{
|
||||
return closed;
|
||||
}
|
||||
|
||||
// The associated reader.
|
||||
private PipedReader reader;
|
||||
private boolean closed;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue