aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/io/OutputStream.java
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2001-08-05 22:41:30 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2001-08-05 22:41:30 +0000
commit536314a49428e7edaae40e1ae3756dc36d77de18 (patch)
treec8849c2172460473eb01af96a97ce39792895ecd /libjava/java/io/OutputStream.java
parenta98af3e01c164f729be70f6319cc0b280f7e8182 (diff)
* java/io/StringWriter.java: Merged with Classpath.
* java/io/InputStream.java: Merged with Classpath. * java/io/OutputStream.java: Merged with Classpath. * java/io/PushbackInputStream.java: Merged with Classpath. * java/io/CharArrayReader.java: Merged with Classpath. * java/io/CharArrayWriter.java: Merged with Classpath. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44652 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/io/OutputStream.java')
-rw-r--r--libjava/java/io/OutputStream.java111
1 files changed, 96 insertions, 15 deletions
diff --git a/libjava/java/io/OutputStream.java b/libjava/java/io/OutputStream.java
index 46770394b22..d4d9a190cff 100644
--- a/libjava/java/io/OutputStream.java
+++ b/libjava/java/io/OutputStream.java
@@ -1,34 +1,95 @@
-// OutputStream.java - Send output bytes to output sink.
+/* OutputStream.java -- Base class for byte output streams
+ Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc.
-/* Copyright (C) 1998, 1999 Free Software Foundation
+This file is part of GNU Classpath.
- This file is part of libgcj.
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
-package java.io;
+As a special exception, if you link this library with other files to
+produce an executable, this library does not by itself cause the
+resulting executable to be covered by the GNU General Public License.
+This exception does not however invalidate any other reasons why the
+executable file might be covered by the GNU General Public License. */
-/**
- * @author Tom Tromey <tromey@cygnus.com>
- * @date September 24, 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 version 1.1.
- */
+package java.io;
+/**
+ * This abstract class forms the base of the hierarchy of classes that
+ * write output as a stream of bytes. It provides a common set of methods
+ * for writing bytes to stream. Subclasses implement and/or extend these
+ * methods to write bytes in a particular manner or to a particular
+ * destination such as a file on disk or network connection.
+ *
+ * @author Aaron M. Renn (arenn@urbanophile.com)
+ * @author Tom Tromey <tromey@cygnus.com>
+ */
public abstract class OutputStream
{
+ /**
+ * This is the default no-argument constructor for this class. This method
+ * does nothing in this class.
+ */
+ public OutputStream ()
+ {
+ }
+
+ /**
+ * This method writes a single byte to the output stream. The byte written
+ * is the low eight bits of the <code>int</code> passed and a argument.
+ * <p>
+ * Subclasses must provide an implementation of this abstract method
+ *
+ * @param b The byte to be written to the output stream, passed as
+ * the low eight bits of an <code>int</code>
+ *
+ * @exception IOException If an error occurs
+ */
public abstract void write (int b) throws IOException;
+ /**
+ * This method all the writes bytes from the passed array to the
+ * output stream. This method is equivalent to <code>write(b, 0,
+ * buf.length)</code> which is exactly how it is implemented in this
+ * class.
+ *
+ * @param b The array of bytes to write
+ *
+ * @exception IOException If an error occurs
+ */
public void write (byte[] b) throws IOException, NullPointerException
{
write (b, 0, b.length);
}
+ /**
+ * This method writes <code>len</code> bytes from the specified array
+ * <code>b</code> starting at index <code>off</code> into the array.
+ * <p>
+ * This method in this class calls the single byte <code>write()</code>
+ * method in a loop until all bytes have been written. Subclasses should
+ * override this method if possible in order to provide a more efficent
+ * implementation.
+ *
+ * @param b The array of bytes to write from
+ * @param off The index into the array to start writing from
+ * @param len The number of bytes to write
+ *
+ * @exception IOException If an error occurs
+ */
public void write (byte[] b, int off, int len)
throws IOException, NullPointerException, IndexOutOfBoundsException
{
@@ -38,10 +99,30 @@ public abstract class OutputStream
write (b[off + i]);
}
+ /**
+ * This method forces any data that may have been buffered to be written
+ * to the underlying output device. Please note that the host environment
+ * might perform its own buffering unbeknowst to Java. In that case, a
+ * write made (for example, to a disk drive) might be cached in OS
+ * buffers instead of actually being written to disk.
+ * <p>
+ * This method in this class does nothing.
+ *
+ * @exception IOException If an error occurs
+ */
public void flush () throws IOException
{
}
+ /**
+ * This method closes the stream. Any internal or native resources
+ * associated with this stream are freed. Any subsequent attempt to
+ * access the stream might throw an exception.
+ * <p>
+ * This method in this class does nothing.
+ *
+ * @exception IOException If an error occurs
+ */
public void close () throws IOException
{
}