Шаг 93.
Язык программирования Java.
Примеры использования потоков ввода-вывода байтов

На этом шаге мы приведем примеры использования потоков ввода-вывода байтов


Пример 1. Напишем программу для чтения с клавиатуры и вывод на экран.

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

/**
 * Пример для работы с классами InputStream и OutputStream
 * */
public class Main {
    public static void main(String[] args) throws IOException {
        /*Создаем ссылку на стандартный поток ввода*/
        InputStream in = System.in;
        /*Создаем ссылку на стандартный поток вывода*/
        OutputStream out = System.out;

        /*Создаем буфер для хранения последовательности байтов*/
        byte[] buffer = new byte[1024];
        /*Пока в потоке есть что читать*/
        while (in.read(buffer) != -1) {
            /*
              Прочтем очередную порцию байтов и выведем ее на экран
            */
            out.write(buffer);
        }
        /*Заставляем данные вывести на экран из буфера*/
        out.flush();
    }
}

Проект можно взять здесь


Рис. 1. Вывод программы


Пример 2. Напишем программу для чтения данных из файла in.txt и вывод его содержимого в файл out.txt.

import java.io.*;

/**
 * Пример использования классов FileInputStream и FileOutputStream
 * */
public class Main {
    public static void main(String[] args) throws IOException {
        /*Создаем ссылку на поток работы с файлом для ввода*/
        InputStream in = new FileInputStream("in.txt");
        /*Создаем ссылку на поток работы с файлом для вывода*/
        OutputStream out = new FileOutputStream("out.txt");

        /*Создаем буфер для храения последовательности байтов*/
        byte[] buffer = new byte[1024];
        /*Читаем байты в буфер пока можем*/
        while (in.read(buffer) != -1) {
            /*Записываем прочтенную последовательность байтов в поток вывода*/
            out.write(buffer);
        }
        /*Сбрасываем содержимое буфера в поток вывода*/
        out.flush();

        System.out.println("Содержимое файла скопировано.");
    }
}

Проект можно взять здесь


Рис. 2. Вывод программы


На следующем шаге мы начнем говорить про потоки ввода-вывода символов

Предыдущий шаг Содержание Следующий шаг