diff -r 13588c901957 -r 9cf78a70fa4f src/java.base/share/classes/java/io/OutputStream.java --- a/src/java.base/share/classes/java/io/OutputStream.java Thu Oct 17 20:27:44 2019 +0100 +++ b/src/java.base/share/classes/java/io/OutputStream.java Thu Oct 17 20:53:35 2019 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1994, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1994, 2019, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -33,7 +33,7 @@ * and sends them to some sink. *
* Applications that need to define a subclass of
- * OutputStream
must always provide at least a method
+ * {@code OutputStream} must always provide at least a method
* that writes one byte of output.
*
* @author Arthur van Hoff
@@ -47,6 +47,11 @@
*/
public abstract class OutputStream implements Closeable, Flushable {
/**
+ * Constructor for subclasses to call.
+ */
+ public OutputStream() {}
+
+ /**
* Returns a new {@code OutputStream} which discards all bytes. The
* returned stream is initially open. The stream is closed by calling
* the {@code close()} method. Subsequent calls to {@code close()} have
@@ -93,29 +98,29 @@
/**
* Writes the specified byte to this output stream. The general
- * contract for write
is that one byte is written
+ * contract for {@code write} is that one byte is written
* to the output stream. The byte to be written is the eight
- * low-order bits of the argument b
. The 24
- * high-order bits of b
are ignored.
+ * low-order bits of the argument {@code b}. The 24
+ * high-order bits of {@code b} are ignored.
*
- * Subclasses of OutputStream
must provide an
+ * Subclasses of {@code OutputStream} must provide an
* implementation for this method.
*
- * @param b the byte
.
- * @exception IOException if an I/O error occurs. In particular,
- * an IOException
may be thrown if the
+ * @param b the {@code byte}.
+ * @throws IOException if an I/O error occurs. In particular,
+ * an {@code IOException} may be thrown if the
* output stream has been closed.
*/
public abstract void write(int b) throws IOException;
/**
- * Writes b.length
bytes from the specified byte array
- * to this output stream. The general contract for write(b)
+ * Writes {@code b.length} bytes from the specified byte array
+ * to this output stream. The general contract for {@code write(b)}
* is that it should have exactly the same effect as the call
- * write(b, 0, b.length)
.
+ * {@code write(b, 0, b.length)}.
*
* @param b the data.
- * @exception IOException if an I/O error occurs.
+ * @throws IOException if an I/O error occurs.
* @see java.io.OutputStream#write(byte[], int, int)
*/
public void write(byte b[]) throws IOException {
@@ -123,31 +128,31 @@
}
/**
- * Writes len
bytes from the specified byte array
- * starting at offset off
to this output stream.
- * The general contract for write(b, off, len)
is that
- * some of the bytes in the array b
are written to the
- * output stream in order; element b[off]
is the first
- * byte written and b[off+len-1]
is the last byte written
+ * Writes {@code len} bytes from the specified byte array
+ * starting at offset {@code off} to this output stream.
+ * The general contract for {@code write(b, off, len)} is that
+ * some of the bytes in the array {@code b} are written to the
+ * output stream in order; element {@code b[off]} is the first
+ * byte written and {@code b[off+len-1]} is the last byte written
* by this operation.
*
- * The write
method of OutputStream
calls
+ * The {@code write} method of {@code OutputStream} calls
* the write method of one argument on each of the bytes to be
* written out. Subclasses are encouraged to override this method and
* provide a more efficient implementation.
*
- * If b
is null
, a
- * NullPointerException
is thrown.
+ * If {@code b} is {@code null}, a
+ * {@code NullPointerException} is thrown.
*
- * If off
is negative, or len
is negative, or
- * off+len
is greater than the length of the array
+ * If {@code off} is negative, or {@code len} is negative, or
+ * {@code off+len} is greater than the length of the array
* {@code b}, then an {@code IndexOutOfBoundsException} is thrown.
*
* @param b the data.
* @param off the start offset in the data.
* @param len the number of bytes to write.
- * @exception IOException if an I/O error occurs. In particular,
- * an IOException
is thrown if the output
+ * @throws IOException if an I/O error occurs. In particular,
+ * an {@code IOException} is thrown if the output
* stream is closed.
*/
public void write(byte b[], int off, int len) throws IOException {
@@ -160,7 +165,7 @@
/**
* Flushes this output stream and forces any buffered output bytes
- * to be written out. The general contract of flush
is
+ * to be written out. The general contract of {@code flush} is
* that calling it is an indication that, if any bytes previously
* written have been buffered by the implementation of the output
* stream, such bytes should immediately be written to their
@@ -172,22 +177,22 @@
* passed to the operating system for writing; it does not guarantee that
* they are actually written to a physical device such as a disk drive.
*
- * The flush
method of OutputStream
does nothing.
+ * The {@code flush} method of {@code OutputStream} does nothing.
*
- * @exception IOException if an I/O error occurs.
+ * @throws IOException if an I/O error occurs.
*/
public void flush() throws IOException {
}
/**
* Closes this output stream and releases any system resources
- * associated with this stream. The general contract of close
+ * associated with this stream. The general contract of {@code close}
* is that it closes the output stream. A closed stream cannot perform
* output operations and cannot be reopened.
*
- * The close
method of OutputStream
does nothing.
+ * The {@code close} method of {@code OutputStream} does nothing.
*
- * @exception IOException if an I/O error occurs.
+ * @throws IOException if an I/O error occurs.
*/
public void close() throws IOException {
}