Рубрики
Без рубрики

Потоки, потоки байтов.

Введение Это будет мой первый пост о потоках на java, и мы собираемся… С тегом java, новички, потоки.

  • Это будет мой первый пост о потоках в java, и мы собираемся начать с потоков байтов. Краткое предупреждение о потоках байтов: вы, вероятно, никогда не собираетесь их использовать, потому что обычно существуют потоки, более подходящие для данной ситуации. Однако, с учетом сказанного, все остальные потоки основаны на потоках байтов. Поэтому полезно знать и понимать их. Я также создал Youtube версию этого поста. Поэтому, пожалуйста, обязательно проверьте и это.

Потоки ввода-вывода

  • Прежде чем мы перейдем к потокам байтов, давайте сначала получим четкое представление о том, что такое потоки. Поток – это общий термин, который представляет данные, перемещающиеся из одной точки в другую. Поток может представлять множество различных типов источников и назначений, таких как дисковые файлы, устройства, другие программы и даже массивы памяти.

  • Некоторые потоки просто передают данные, в то время как другие манипулируют и преобразуют данные полезными способами. Существует два основных вида потоков,

  • 1) Входные потоки : программа использует входной поток для считывания данных из пункта назначения

  • 1) Выходные потоки : программа использует выходной поток для записи данных в пункт назначения по одному элементу за раз

Потоки байтов

  • Программы используют потоки байтов для выполнения ввода и вывода 8-битных байтов. Байт – это просто то, что мы называем 8 битами, упакованными вместе. Теперь мы перейдем к созданию нашего потока байтов, я создал YouTube видео с кодом, и я бы рекомендовал вам посмотреть это видео и выполнить код вместе. Вы получите гораздо больше от видео, чем от этого текста.
public class CopyBytes {
    public static void main(String[] args) throws IOException{
        FileInputStream in = null;
        FileOutputStream out = null;

        try {

                in = new FileInputStream("anotherOne.txt");
                out = new FileOutputStream("itDoBeLikeThat.txt");
                int c;

                while((c = in.read())!= -1) {
                    out.write(c);
                }
            //close the streams 
        }finally {
            if(in != null) {
                in.close();
            }
            if(out != null) {
                out.close();
            }
        }

    }

}

Понимание кода

  • 1) главный этот метод называется “public static void main(String[] args)”, это специальный метод в java. Каждое приложение на Java должно иметь этот метод, поскольку он действует как отправная точка для приложения.

  • 2) бросает это механизм для обработки исключений в Java. Если вы не знакомы с обработкой исключений в Java, я бы настоятельно рекомендовал вам быстро поискать это в Google. По сути, throws позволяет нам обрабатывать исключение IOException без необходимости полностью реализовывать try/catch

  • 3) FileInputStream Входной поток предназначен для получения входных байтов из файла в файловой системе.

  • 4) Поток вывода файла предназначен для записи данных в файл

  • 5) try – это еще одна часть обработки исключений в java. Попытка {} называется блоком попыток. Код, который может вызвать исключение, всегда должен помещаться внутри блока try.

  • 6) новый FileInputStream(“anotherOne.txt “) это создает новый FileInputStream из файла с именем “anotherOne.txt “, пожалуйста, убедитесь, что вы уже предварительно создали эту папку внутри вашего корневого каталога. Если вы не сделаете этого, то произойдет ошибка.

    • 7) новый поток вывода файла(“itDoBeLikeThat.txt “) это мы создаем и выводим поток, который будет новым файлом под названием “itDoBeLikeThat.txt ” в корневом каталоге, и именно отсюда весь текст “anotherOne.txt ” будет размещено.
  • 8) int c; здесь мы создали простое целое число и назвали его c. Это будет использоваться для зацикливания и записи данных в нужный файл.

  • 9) while((c.read())!= –1) {out.write(c);} вот как мы проходим цикл “anotherOne.txt “данные s. Метод read() будет возвращать число в диапазоне от 0 до 255 при каждом взаимодействии, а в конце данных он вернет значение -1. функция read(), возвращающая значение -1, позволяет нам узнать, что данных для чтения больше не осталось.

  • 10) наконец-то это еще одна часть обработки исключений java. Для целей этого поста все, что нам нужно знать, это то, что он будет работать, несмотря ни на что. Даже если произойдет исключение, этот блок кода все равно будет выполняться. При закрытии потоков поместите код, отвечающий за закрытие потоков, внутри блока finally.

  • 11) .close() это отвечает за закрытие потоков, и очень важно, чтобы мы это сделали. Закрытие потоков помогает нам избежать серьезных утечек ресурсов.

  • Спасибо, что нашли время в свой рабочий день, чтобы прочитать этот мой пост в блоге. Если у вас есть какие-либо вопросы или проблемы, пожалуйста, прокомментируйте ниже или свяжитесь со мной по адресу Твиттер .
  • Также обязательно загляните на мой канал YouTube для получения дополнительных руководств по программированию.

Оригинал: “https://dev.to/theplebdev/streams-byte-streams-55gl”