• Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта
  • Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом

Java Урок 56: ПОТОКИ ВВОДА-ВЫВОДА, передача текста

Символьные потоки также определены в двух иерархиях классов. На их вершине находятся два абстрактных класса: Reader и Writer. Эти абстрактные классы управляют потоками символов Unicode. В языке Java предусмотрено несколько конкретных подклассов для каждого из них.

Скачать исходники для статьи можно ниже

Вот некоторые из них:

BufferedReader – Буферизированный входной символьный поток – цепной поток
BufferedWriter – Буферизированный выходной символьный поток – цепной поток
FileReader – Входной поток, читающий файл – поток для соединения
FileWriter – Выходной поток, пишущий в файл – поток для соединения
Reader – Абстрактный класс, описывающий символьный ввод
Writer – Абстрактный класс, описывающий символьный вывод

Абстрактные классы Reader и Writer определяют несколько ключевых методов, которые реализуют другие потоковые классы.
Два наиболее важных — это методы read() и write(), которые, соответственно читают и пишут символьные данные.

Эти методы переопределяются в производных потоковых классах.

Пример использования FileWriter и FileReader:

public class Main {
   public static void main(String[] args) throws IOException {
      File file = new File("file.txt");
      FileWriter fWriter = new FileWriter(file);
      // создание символьного потока

      fWriter.write("Привет, дружище");
      // запись файла

      fWriter.close();
      // закрытие потока fWriter

      FileReader fReader = new FileReader(file);
      int g = fReader.read();
      while (g != -1) {
         System.out.print((char) g);
         g = fReader.read();
         // чтение символа из файла
      }
      fReader.close();
   }
}

Вывод программы:
Привет, дружище

Пример использования потоков для соединения FileWriter и FileReader и цепных потоков BufferedWriter и BufferedReader:

public class Main {
   public static void main(String[] args) throws IOException {
      File file = new File("file.txt");
      FileWriter fWriter = new FileWriter(file);
      // создание символьного потока

      BufferedWriter bufferedWriter = new BufferedWriter(fWriter);
      // создание цепного буферизированного потока

      bufferedWriter.write("Привет, дружище");
      // закрытие потока bufferedWriter

      bufferedWriter.close();
      // закрытие потока bufferedWriter приводит к автоматическому 
      // закрытию потока fWriter

      FileReader fReader = new FileReader(file);
      BufferedReader bufferedReader = new BufferedReader(fReader);
      String s = bufferedReader.readLine();
      // метод readLine() читает строку целиком

      while (s != null) {
         System.out.print(s);
         s = bufferedReader.readLine();
      }
      bufferedReader.close();
   }
}

Вывод программы:
Привет, дружище

Добавить комментарий