У цьому посібнику ми дізнаємося про Java StringWriter та його підкласи за допомогою прикладів.
StringWriterКлас java.ioпакета може використовуватися для запису даних (в символах) в рядку буфер.
Це розширює абстрактний клас Writer.

Примітка : У Java буфер рядків розглядається як змінний рядок. Тобто ми можемо змінити буфер рядків. Для перетворення з буфера рядка в рядок ми можемо використовувати toString()метод.
Створіть StringWriter
Для того, щоб створити StringWriter, ми повинні java.io.StringWriterспочатку імпортувати пакет. Як тільки ми імпортуємо пакет, ось як ми можемо створити рядок.
// Creates a StringWriter StringWriter output = new StringWriter();
Тут ми створили рядопис із ємністю буфера рядків за замовчуванням. Однак ми також можемо вказати ємність буфера рядка.
// Creates a StringWriter with specified string buffer capacity 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 ( // Create a StringWriter with default string buffer capacity StringWriter output = new StringWriter(); // Writes data to the string buffer output.write(data); // Prints the string writer System.out.println("Data in the StringWriter: " + output); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Вихідні дані
Дані в StringWriter: Це текст у рядку.
У наведеному вище прикладі ми створили рядок, що називається 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 ( // Create a StringWriter with default string buffer capacity StringWriter output = new StringWriter(); // Writes data to the string buffer output.write(data); // Returns the string buffer StringBuffer stringBuffer = output.getBuffer(); System.out.println("StringBuffer: " + stringBuffer); // Returns the string buffer in string form String string = output.toString(); System.out.println("String: " + string); output.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Вихідні дані
StringBuffer: Це оригінальні дані Рядок: Це оригінальні дані
Тут ми використали getBuffer()метод для отримання даних, що містяться в буфері рядків. А також метод toString()повертає дані, наявні в буфері рядків, як рядок.
метод close ()
Щоб закрити рядопис, ми можемо використати close()метод.
Однак close()метод не має ефекту в StringWriterкласі. Ми можемо використовувати методи цього класу навіть після close()виклику методу.
Інші методи StringWriter
| Метод | Опис |
|---|---|
flush() | змушує записати всі дані, присутні в програмі запису, у буфер рядків |
append() | вставляє вказаний символ до поточного автора |
Щоб дізнатись більше, відвідайте Java StringWriter (офіційна документація Java).








