У цьому посібнику ми дізнаємося про 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).