java.io

Потокоориентированный, Блокирующий (синхронный) ввод/вывод

InputStream

Байтовый поток ввода используется для считывания данных (байт) с источника

Методы

read(); read(byte[]); read(byte[], int, int); readAllBytes(); skip(long); ... close();

// получить приблизительное число байт, которое можно прочитать из данного потока ввода
available;

// чтение всех байт из потока ввода и передача их в указанный поток вывода
transferTo(OutputStream out);
// метка позиции потока ввода
mark;

// сброс до помеченной позиции
reset;

// доступна ли возможность помечания позиции
markSupported;


FileInputStream

Чтение из файла

new FileInputStream(fileName/File/FileDescriptor);

ByteArrayInputStream

Чтение из указанного буфера

new ByteArrayInputStream(byte buf[]);

SequenceInputStream

Объединяет потоки ввода последовательно, т.е. после прочтения s1 последует чтение из s2.

Внутренние потоки закрываются по достижению их конца, а также при явном вызове close()

new SequenceInputStream(InputStream s1, InputStream s2);

ObjectInputStream

Чтение ранее сериализованных данных из потока. В конструкторе он принимает ссылку на поток ввода.

Вложенный поток закрывается при закрытии данного.

new ObjectInputStream(InputStream in);

PipedInputStream

Анологично PipedOutputStream

FilterInputStream

Оборачивает базовый стрим (делегирование), добавляя некоторые полезные методы

new FilterInputStream(InputStream in);

DataInputStream

Входной поток, включающий методы для чтения стандартных типов данных Java

BufferedInputStream

Буферезированный входной поток

PushbackInputStream

new PushbackInputStream(InputStream in);

OutputStream

Байтовый поток вывода используется для записи данных (байт) по месту назначения

Методы

write(); write(byte[]); write(byte[], int, int); ... close();

// очищает буфер вывода, записывая все его содержимое
flush;


FileOutputStream

Запись в файл

new FileOutputStream(fileName/File/FileDescriptor);

ByteArrayOutputStream

Создает буфер в памяти. Все данные, посылаемые в этот поток, размещаются в созданном буфере.

ObjectOutputStream

Оборачивает поток вывода для отправки в него сериализованных объектов.

Вложенный поток закрывается при закрытии данного.

new ObjectOutputStream(OutputStream out);

PipedOutputStream

Предоставляет канал для передачи байт в указанный PipedInputStream (connect(PipedInputStream snk))

FilterOutputStream

Оборачивает базовый стрим (делегирование), добавляя некоторые полезные методы.

Вложенный поток закрывается при закрытии данного.

new FilterOutputStream(OutputStream out);

DataOutputStream

Выходной поток, включающий методы для записи стандартных типов данных Java

BufferedOutputStream

Буферизированный выходной поток

PrintStream

Используется для вывода на консоль, файл и тд.

Reader

Символьный поток ввода используется для считывания данных (символов) с источника

Методы

read(); read(char[]); read(char[], int, int);
available(); skip(long); transferTo(..);
mark(long); ... close();


StringReader

Входной поток, читающий из строки

new StringReader(String s);

CharArrayReader

Входной поток, который читает из символьного массива

new CharArrayReader(char buf[]);

BufferedReader

Буферизированный входной символьный поток

new BufferedReader(Reader in);

FilterReader

Фильтрующий читатель (абстрактный класс)

new FilterReader(Reader in);

PipedReader

Входной канал

PushbackReader

Входной поток, позволяющий возвращать символы обратно в поток

new PushbackReader(Reader in);

InputStreamReader

An InputStreamReader is a bridge from byte streams to character streams

FileReader

Входной поток, читающий файл

new FileReader(fileName/File/FileDescriptor);

Writer

Символьный поток вывода используется для записи данных (символы) по месту назначения

Методы

write(); write(byte[]); write(byte[], int, int);
flush; ... close();


StringWriter

Выходной поток, пишущий в строку

BufferedWriter

Буферизированный выходной символьный поток

new BufferedWriter(Writer out);

CharArrayWriter

Выходной поток, который пишет в символьный массив

FilterWriter

Фильтрующий писатель (абстрактный класс)

new FilterWriter(Writer out);

PipedWriter

Выходной канал

PrintWriter

Выходной поток в консоль, включающий методы print() и println()

InputStreamWriter

Выходной поток, транслирующий байты в символы

FileWriter

Выходной поток, пишущий в файл

File

Представляет дескриптор файла или каталога. В том числе не существующего.

Позволяет получить информацию о файле: права доступа, время и дата создания, путь к каталогу. А также осуществлять навигацию по иерархиям подкаталогов.

RandomAccessFile

Дескриптор файла, со случайным доступом. Реализуют интерфейсы DataInput и DataOutput.

// позволяет переместиться к определенной позиции и изменить хранящееся там значение
seek();