English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом руководстве мы будем изучать примеры Java StringWriter и его подклассы.
Класс StringWriter пакета java.io можно использовать для записи данных (в виде символов) в буфер строк.
Он наследуется от абстрактного класса Writer.
ВниманиеВ Java буфер строк считается изменяемым строкой. То есть, мы можем изменять буфер строк. Для преобразования буфера строк в строку можно использовать метод toString().
Для создания StringWriter нам нужно сначала импортировать пакет java.io.StringWriter. После импорта пакета мы можем создать строковый записыватель.
//Создание StringWriter StringWriter output = new StringWriter();
Здесь мы создали строковый записыватель с заданной вместимостью буфера строк. Но мы также можем определить вместимость буфера строк.
//Создание StringWriter с заданной вместимостью буфера строк StringWriter output = new StringWriter(int size);
Здесь размер определяет вместимость буфера строк.
Класс StringWriter предоставляет реализацию различных методов из класса Writer.
write() - записывает один символ в写入
write(char[] array) - записывает указанные символы из массива в写入
write(String data) - записывает указанную строку в写入
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() для получения данных из строки буфера в виде строки.
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() в классе StringWriter неактивен. Даже если был вызван метод close(), мы можем использовать методы этого класса.
Метод | Описание |
---|---|
flush() | Принудительно записать все данные, существующие в写入器, в строковый буфер |
append() | Вставить указанный символ в текущий写入器 |