Chapter 2. Output Streams
The java.io.OutputStream
class declares the three basic methods you need to write bytes of data onto a stream. It also has methods for closing and flushing streams:
public abstract void write(int b) throws IOException public void write(byte[] data) throws IOException public void write(byte[] data, int offset, int length) throws IOException public void flush( ) throws IOException public void close( ) throws IOException
OutputStream
is an abstract class. Subclasses provide implementations of the abstract write(int b)
method. They may also override the four nonabstract methods. For example, the FileOutputStream
class overrides all five methods with methods that call native code to write files. Although OutputStream
is abstract, often you only need to know that the object you have is an OutputStream
; the more specific subclass of OutputStream
is hidden from you. For example, the getOutputStream( )
method of java.net.URLConnection
has this signature:
public OutputStream getOutputStream( ) throws IOException
Depending on the type of URL associated with this URLConnection
object, the actual class of the output stream that’s returned may be a sun.net.TelnetOutputStream
, a sun.net.smtp.SmtpPrintStream
, a sun.net.www.http.KeepAliveStream
, or something else completely. All you know as a programmer, and all you need to know, is that the object returned is some kind of OutputStream
.
Furthermore, even when working with subclasses whose types you know, you still need to ...
Get Java I/O, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.