src/java.base/share/classes/java/io/OutputStream.java
branchdatagramsocketimpl-branch
changeset 58678 9cf78a70fa4f
parent 48461 6a1c3a5e04f3
child 58679 9c3209ff7550
--- 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.
  * <p>
  * Applications that need to define a subclass of
- * <code>OutputStream</code> 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 <code>write</code> 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 <code>b</code>. The 24
-     * high-order bits of <code>b</code> are ignored.
+     * low-order bits of the argument {@code b}. The 24
+     * high-order bits of {@code b} are ignored.
      * <p>
-     * Subclasses of <code>OutputStream</code> must provide an
+     * Subclasses of {@code OutputStream} must provide an
      * implementation for this method.
      *
-     * @param      b   the <code>byte</code>.
-     * @exception  IOException  if an I/O error occurs. In particular,
-     *             an <code>IOException</code> 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 <code>b.length</code> bytes from the specified byte array
-     * to this output stream. The general contract for <code>write(b)</code>
+     * 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
-     * <code>write(b, 0, b.length)</code>.
+     * {@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 <code>len</code> bytes from the specified byte array
-     * starting at offset <code>off</code> to this output stream.
-     * The general contract for <code>write(b, off, len)</code> is that
-     * some of the bytes in the array <code>b</code> are written to the
-     * output stream in order; element <code>b[off]</code> is the first
-     * byte written and <code>b[off+len-1]</code> 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.
      * <p>
-     * The <code>write</code> method of <code>OutputStream</code> 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.
      * <p>
-     * If <code>b</code> is <code>null</code>, a
-     * <code>NullPointerException</code> is thrown.
+     * If {@code b} is {@code null}, a
+     * {@code NullPointerException} is thrown.
      * <p>
-     * If <code>off</code> is negative, or <code>len</code> is negative, or
-     * <code>off+len</code> 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 <code>IOException</code> 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 <code>flush</code> 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.
      * <p>
-     * The <code>flush</code> method of <code>OutputStream</code> 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 <code>close</code>
+     * 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.
      * <p>
-     * The <code>close</code> method of <code>OutputStream</code> 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 {
     }