AI-generated Key Takeaways
-
The
java.io
package provides a set of interfaces and classes for handling input and output operations in Java. -
It includes classes for reading and writing data to files, streams, and other data sources.
-
The package supports various data types, including primitive types, objects, and characters.
-
It also provides functionalities such as buffering, filtering, and serialization of data.
-
Several exceptions and errors are defined to handle potential I/O issues.
Interfaces
Closeable | A Closeable is a source or destination of data that can be closed. |
DataInput | The DataInput interface provides
for reading bytes from a binary stream and
reconstructing from them data in any of
the Java primitive types. |
DataOutput | The DataOutput interface provides
for converting data from any of the Java
primitive types to a series of bytes and
writing these bytes to a binary stream. |
Externalizable | Only the identity of the class of an Externalizable instance is written in the serialization stream and it is the responsibility of the class to save and restore the contents of its instances. |
FileFilter | A filter for abstract pathnames. |
FilenameFilter | Instances of classes that implement this interface are used to filter filenames. |
Flushable | A Flushable is a destination of data that can be flushed. |
ObjectInput | Defines an interface for classes that allow reading serialized objects. |
ObjectInputValidation | A callback interface for post-deserialization checks on objects. |
ObjectOutput | Defines an interface for classes that allow reading serialized objects. |
ObjectStreamConstants | A helper interface with constants used by the serialization implementation. |
Serializable | Serializability of a class is enabled by the class implementing the java.io.Serializable interface. |
Classes
BufferedInputStream | A BufferedInputStream adds
functionality to another input stream-namely,
the ability to buffer the input and to
support the mark and reset
methods. |
BufferedOutputStream | The class implements a buffered output stream. |
BufferedReader | Reads text from a character-input stream, buffering characters so as to provide for the efficient reading of characters, arrays, and lines. |
BufferedWriter | Writes text to a character-output stream, buffering characters so as to provide for the efficient writing of single characters, arrays, and strings. |
ByteArrayInputStream | A ByteArrayInputStream contains
an internal buffer that contains bytes that
may be read from the stream. |
ByteArrayOutputStream | This class implements an output stream in which the data is written into a byte array. |
CharArrayReader | This class implements a character buffer that can be used as a character-input stream. |
CharArrayWriter | This class implements a character buffer that can be used as an Writer. |
Console | Provides access to the console, if available. |
DataInputStream | A data input stream lets an application read primitive Java data types from an underlying input stream in a machine-independent way. |
DataOutputStream | A data output stream lets an application write primitive Java data types to an output stream in a portable way. |
File | An abstract representation of file and directory pathnames. |
FileDescriptor | Instances of the file descriptor class serve as an opaque handle to the underlying machine-specific structure representing an open file, an open socket, or another source or sink of bytes. |
FileInputStream | A FileInputStream obtains input bytes
from a file in a file system. |
FileOutputStream | A file output stream is an output stream for writing data to a
File or to a FileDescriptor . |
FilePermission | Legacy security code; do not use. |
FileReader | Convenience class for reading character files. |
FileWriter | Convenience class for writing character files. |
FilterInputStream | A FilterInputStream contains
some other input stream, which it uses as
its basic source of data, possibly transforming
the data along the way or providing additional
functionality. |
FilterOutputStream | This class is the superclass of all classes that filter output streams. |
FilterReader | Abstract class for reading filtered character streams. |
FilterWriter | Abstract class for writing filtered character streams. |
InputStream | This abstract class is the superclass of all classes representing an input stream of bytes. |
InputStreamReader | An InputStreamReader is a bridge from byte streams to character streams: It
reads bytes and decodes them into characters using a specified charset . |
LineNumberInputStream | This class is deprecated. This class incorrectly assumes that bytes adequately represent characters. As of JDK 1.1, the preferred way to operate on character streams is via the new character-stream classes, which include a class for counting line numbers. |
LineNumberReader | A buffered character-input stream that keeps track of line numbers. |
ObjectInputStream | An ObjectInputStream deserializes primitive data and objects previously written using an ObjectOutputStream. |
ObjectInputStream.GetField | Provide access to the persistent fields read from the input stream. |
ObjectOutputStream | An ObjectOutputStream writes primitive data types and graphs of Java objects to an OutputStream. |
ObjectOutputStream.PutField | Provide programmatic access to the persistent fields to be written to ObjectOutput. |
ObjectStreamClass | Serialization's descriptor for classes. |
ObjectStreamField | A description of a Serializable field from a Serializable class. |
OutputStream | This abstract class is the superclass of all classes representing an output stream of bytes. |
OutputStreamWriter | A class for turning a character stream into a byte stream. |
PipedInputStream | Receives information from a communications pipe. |
PipedOutputStream | Places information on a communications pipe. |
PipedReader | Piped character-input streams. |
PipedWriter | Piped character-output streams. |
PrintStream | A PrintStream adds functionality to another output stream,
namely the ability to print representations of various data values
conveniently. |
PrintWriter | Prints formatted representations of objects to a text-output stream. |
PushbackInputStream | A PushbackInputStream adds
functionality to another input stream, namely
the ability to "push back" or "unread"
one byte. |
PushbackReader | A character-stream reader that allows characters to be pushed back into the stream. |
RandomAccessFile | Instances of this class support both reading and writing to a random access file. |
Reader | Abstract class for reading character streams. |
SequenceInputStream | A SequenceInputStream represents
the logical concatenation of other input
streams. |
SerializablePermission | This legacy security is not supported on Android. |
SerialVersionUIDDigest | Dynamically loaded implementation for computing serialVersionUID hashes. |
StreamTokenizer | Parses a stream into a set of defined tokens, one at a time. |
StringBufferInputStream |
This class is deprecated.
This class does not properly convert characters into bytes. As
of JDK 1.1, the preferred way to create a stream from a
string is via the StringReader class.
|
StringReader | A character stream whose source is a string. |
StringWriter | A character stream that collects its output in a string buffer, which can then be used to construct a string. |
Writer | Abstract class for writing to character streams. |
Exceptions
CharConversionException | Base class for character conversion exceptions. |
EOFException | Signals that an end of file or end of stream has been reached unexpectedly during input. |
FileNotFoundException | Signals that an attempt to open the file denoted by a specified pathname has failed. |
InterruptedIOException | Signals that an I/O operation has been interrupted. |
InvalidClassException | Thrown when the Serialization runtime detects one of the following problems with a Class. |
InvalidObjectException | Indicates that one or more deserialized objects failed validation tests. |
IOException | Signals that an I/O exception of some sort has occurred. |
NotActiveException | Thrown when serialization or deserialization is not active. |
NotSerializableException | Thrown when an instance is required to have a Serializable interface. |
ObjectStreamException | Superclass of all exceptions specific to Object Stream classes. |
OptionalDataException | Exception indicating the failure of an object read operation due to unread primitive data, or the end of data belonging to a serialized object in the stream. |
StreamCorruptedException | Thrown when control information that was read from an object stream violates internal consistency checks. |
SyncFailedException | Signals that a sync operation has failed. |
UncheckedIOException | Wraps an IOException with an unchecked exception. |
UnsupportedEncodingException | The Character Encoding is not supported. |
UTFDataFormatException | Signals that a malformed string in modified UTF-8 format has been read in a data input stream or by any class that implements the data input interface. |
WriteAbortedException | Signals that one of the ObjectStreamExceptions was thrown during a write operation. |
Errors
IOError | Thrown when a serious I/O error has occurred. |