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

Класс StringWriter Java

В этом руководстве мы будем изучать примеры Java StringWriter и его подклассы.

Класс StringWriter пакета java.io можно использовать для записи данных (в виде символов) в буфер строк.

Он наследуется от абстрактного класса Writer.

ВниманиеВ Java буфер строк считается изменяемым строкой. То есть, мы можем изменять буфер строк. Для преобразования буфера строк в строку можно использовать метод toString().

Создание StringWriter

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

//Создание StringWriter
StringWriter output = new StringWriter();

Здесь мы создали строковый записыватель с заданной вместимостью буфера строк. Но мы также можем определить вместимость буфера строк.

//Создание StringWriter с заданной вместимостью буфера строк
StringWriter output = new StringWriter(int size);

Здесь размер определяет вместимость буфера строк.

Метод StringWriter

Класс StringWriter предоставляет реализацию различных методов из класса Writer.

Метод write()

  • write() - записывает один символ в写入

  • write(char[] array) - записывает указанные символы из массива в写入

  • write(String data) - записывает указанную строку в写入

Пример: Java StringWriter

import java.io.StringWriter;
public class Main {
  public static void main(String[] args) {
    String data = "This is the text in the string.";
    try {
      //Создает StringWriter с исходным объемом буфера
      StringWriter output = new StringWriter();
      //Записывает данные в строковый буфер
      output.write(data);
      //Печать строки写入
      System.out.println("Данные в StringWriter: " + output);
      output.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Результат вывода

Данные в StringWriter: This is the text in the string.

В данном примере мы создали строковый写入 output.

StringWriter output = new StringWriter();

Затем мы используем метод write() для записи строковых данных в строковый буфер.

Внимание:Мы использовали метод toString() для получения данных из строки буфера в виде строки.

Доступ к данным из StringBuffer

  • getBuffer() - возвращает данные из строки буфера

  • toString() - возвращает данные из строки буфера в виде строки

Например:

import java.io.StringWriter;
public class Main {
  public static void main(String[] args) {
    String data = "This is the original data";
    try {
      //Создает StringWriter с исходным объемом буфера
      StringWriter output = new StringWriter();
      //Записывает данные в строковый буфер
      output.write(data);
      //Возвращает строковый буфер
      StringBuffer stringBuffer = output.getBuffer();
      System.out.println("StringBuffer: " + stringBuffer);
      //Возвращает строку в виде строки
      String string = output.toString();
      System.out.println("Строка: " + string);
      output.close();
    }
    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Результат вывода

StringBuffer: This is the original data
String: This is the original data

Здесь мы используем метод getBuffer(), чтобы получить данные, существующие в строковом буфере. А метод toString() также возвращает данные, существующие в строковом буфере, в виде строки.

Метод close()

Чтобы закрыть строковый写入атель, мы можем использовать метод close().

Однако, метод close() в классе StringWriter неактивен. Даже если был вызван метод close(), мы можем использовать методы этого класса.

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

МетодОписание
flush()Принудительно записать все данные, существующие в写入器, в строковый буфер
append()Вставить указанный символ в текущий写入器