English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Учебник по основам Java

Java流程控制

Java数组

Java面向对象(I)

Java Ориентированность на объекты (II)

Java Ориентированность на объекты (III)

Обработка исключений Java

Java Списки (List)

Java Очереди (Queue)

Java Словари (Map)

Java Множества (Set)

Java Ввод/вывод (I/O)

Java Reader/Writer

Другие темы Java

Класс Java PrintWriter

В этом руководстве мы через примеры изучим Java PrintWriter и его методы print() и printf().

Класс PrintWriter пакета java.io можно использовать для записи данных в виде обычно читаемого текста.

Он наследует абстрактный класс Writer.

Как работает PrintWriter

В отличие от других писателей, PrintWriter преобразует исходные данные (int, float, char и т.д.) в текстовый формат. Затем он записывает отформатированные данные в поток для записи.

Кроме того, класс PrintWriter не вызывает никаких исключений ввода/вывода. Вместо этого нам нужно использовать метод checkError(), чтобы найти любые ошибки.

autoFlush является необязательным булевым параметром, который определяет, выполняется ли автоматическая промывкаКласс PrintWriter также имеет функцию автоматической стирки. Это означает, что если вызвать один из методов println() или printf(), он будет вынужден записать все данные в целевую систему.

Создание PrintWriter

Для создания потока для записи PrintWriter нам нужно импортировать пакет java.io.PrintWriter. После импорта пакета мы можем создать поток для записи PrintWriter

1.Использование других писателей

//создание FileWriter
FileWriter file = new FileWriter("output.txt");
//создание PrintWriter
PrintWriter output = new PrintWriter(file, autoFlush);

printf("I am %d years old", 25);

  • Мы создали поток для записи PrintWriter, который будет записывать данные в FileWriter

  • autoFlush является опциональным параметром, который определяет, следует ли выполнять автоматическую обновление

2.Использование других потоков для вывода

//создание FileOutputStream
FileOutputStream file = new FileOutputStream("output.txt");
//создание PrintWriter
PrintWriter output = new PrintWriter(file, autoFlush);

printf("I am %d years old", 25);

  • Мы создали поток для записи PrintWriter, который будет записывать данные в файл, представленный FileWriter

  • autoFlush является опциональным параметром, который определяет, следует ли выполнять автоматическую стирку

3.Использование имени файла

//создание PrintWriter
PrintWriter output = new PrintWriter(String file, boolean autoFlush);

printf("I am %d years old", 25);

  • PrintWriter output = new PrintWriter(String file, boolean autoFlush);

  • Мы создали писателя вывода, который записывает данные в указанный файл

autoFlush является необязательным булевым параметром, который определяет, выполняется ли автоматическая промывкаОбратите вниманиеВ всех вышеперечисленных случаях PrintWriter использует определенную стандартную кодировку символов для записи данных в файл. Но мы также можем указать кодировку символов (UTF8илиUTF16

)
// Создание PrintWriter с использованием определенной кодировки символов

PrintWriter output = new PrintWriter(String file, boolean autoFlush, Charset cs); Здесь мы используемКодировка символов

Класс,指定字符编码.

Методы PrintWriter

PrintWriter класс предоставляет различные методы, которые позволяют нам выводить данные.

  • print() метод

  • print() - печать указанных данных в.writer

import java.io.PrintWriter;
class Main {
  public static void main(String[] args) {
    println() - печать данных с kończącym znakiem нового ряда в.writer
    try {
      PrintWriter output = new PrintWriter("output.txt");
      String data = "This is a text inside the file.";
      output.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

output.print(data);output.txt.

PrintWriter output = new PrintWriter("output.txt");

В предыдущем примере мы создали писателя вывода с именем output. Этот писатель вывода связан с файлом

Здесь, когда мы запускаем программу:output.txtФайл будет заполнен следующим содержимым.

Чтобы напечатать данные в файл, мы используем метод print().

This is a text inside the file.

printf() метод

printf() метод можно использовать для печати форматированных строк. Он содержит 2 параметра: форматированную строку и параметры. Например:

printf("I am %d years old", 25);

  • Здесь,

  • I am %d years old является форматированной строкой

  • %d является целым числом в форматированной строке

25 является параметром

Таким образом, форматированная строка включает текст и данные. И, параметры заменяют данные в форматированной строке.%dзаменить на25.

Пример: использование метода printf() класса PrintWriter

import java.io.PrintWriter;
class Main {
  public static void main(String[] args) {
    try {
      PrintWriter output = new PrintWriter("output.txt");
      int age = 25;
      output.printf("Я %d лет", age);
      output.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

В предыдущем примере мы создали принт-письмоoutput. Печать пишется в файлoutput.txt.

PrintWriter output = new PrintWriter("output.txt");

Чтобы напечатать отформатированный текст в файл, мы используем метод printf().

Здесь, когда мы запускаем программу:output.txtФайл будет заполнен следующим содержимым.

Я 25 лет.

Другие методы PrintWriter

МетодОписание
close()Закрыть PrintWriter
checkError()Проверить, есть ли ошибки в写入器е, и верните булево значение
append()Добавить指定的 данные в写入器