SequenceInputStream в Java

SequenceInputStream – сливает потоки в один поток.

Он считывает от первого byte до последнего byte первого InputStream, затем делает то же самое со следующим InputStream и т.д. до последнего InputStream и объединяет их всех в один InputStream.

Допустим, есть два файла person1 и person2 по пути C:/HTML/somedata/:

Теперь давайте объединим два файловых потока, которые читают из этих файлов в один, и, таким образом, сможем читать данные из обоих файлов через один SequenceInputStream.

import java.io.*; import java.util.*; class SequenceStream { public static void main(String[] args) { try { FileInputStream is1 = new FileInputStream(“C:/HTML/somedata/person1.txt”); FileInputStream is2 = new FileInputStream(“C:/HTML/somedata/person2.txt”); // объединяем SequenceInputStream is = new SequenceInputStream(is2, is1); // выведем содержимое обоих файлов через буферизованные потоки BufferedInputStream in = new BufferedInputStream(is); BufferedOutputStream out = new BufferedOutputStream(System.out); int ch; while ((ch = in.read()) != -1) { out.write((char) ch); out.flush(); } } catch (Exception e) {} } }

Вывод:

PipedStream в Java: передача данных между потоками

PipedInputStream и PipedOutputStream для обмена данными между потоками в Java. Практический пример многопоточной передачи данных.
Time to read: 10

PushbackInputStream в Java

PushbackInputStream в Java: возврат прочитанных байтов в поток. Пример использования unread() для повторного чтения данных с примерами кода.
Time to read: 8

OutputStreamWriter в Java

OutputStreamWriter в Java: мост между символьными и байтовыми потоками. Пример записи текста в файл с конвертацией символов в байты.
Time to read: 8