java.io¶
Потокоориентированный, Блокирующий (синхронный) ввод/вывод
Ссылки:
Иерархия:
InputStream¶
Байтовый поток ввода используется для считывания данных (байт) с источника
Методы
read(); read(byte[]); read(byte[], int, int); readAllBytes(); skip(long); ... close();
// получить приблизительное число байт, которое можно прочитать из данного потока ввода
available;
// чтение всех байт из потока ввода и передача их в указанный поток вывода
transferTo(OutputStream out);
// метка позиции потока ввода
mark;
// сброс до помеченной позиции
reset;
// доступна ли возможность помечания позиции
markSupported;
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;
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();
CharArrayReader¶
Входной поток, который читает из символьного массива
new CharArrayReader(char buf[]);
PipedReader¶
Входной канал
PushbackReader¶
Входной поток, позволяющий возвращать символы обратно в поток
new PushbackReader(Reader in);
InputStreamReader¶
An InputStreamReader is a bridge from byte streams to character streams
Writer¶
Символьный поток вывода используется для записи данных (символы) по месту назначения
Методы
write(); write(byte[]); write(byte[], int, int);
flush; ... close();
StringWriter¶
Выходной поток, пишущий в строку
CharArrayWriter¶
Выходной поток, который пишет в символьный массив
PipedWriter¶
Выходной канал
PrintWriter¶
Выходной поток в консоль, включающий методы print() и println()
InputStreamWriter¶
Выходной поток, транслирующий байты в символы
FileWriter¶
Выходной поток, пишущий в файл
File¶
Представляет дескриптор файла или каталога. В том числе не существующего.
Позволяет получить информацию о файле: права доступа, время и дата создания, путь к каталогу. А также осуществлять навигацию по иерархиям подкаталогов.
RandomAccessFile¶
Дескриптор файла, со случайным доступом. Реализуют интерфейсы DataInput и DataOutput.
// позволяет переместиться к определенной позиции и изменить хранящееся там значение
seek();