
- Java.io - Home
- Java.io - BufferedInputStream
- Java.io - BufferedOutputStream
- Java.io - BufferedReader
- Java.io - BufferedWriter
- Java.io - ByteArrayInputStream
- Java.io - ByteArrayOutputStream
- Java.io - CharArrayReader
- Java.io - CharArrayWriter
- Java.io - Console
- Java.io - DataInputStream
- Java.io - DataOutputStream
- Java.io - File
- Java.io - FileDescriptor
- Java.io - FileInputStream
- Java.io - FileOutputStream
- Java.io - FilePermission
- Java.io - FileReader
- Java.io - FileWriter
- Java.io - FilterInputStream
- Java.io - FilterOutputStream
- Java.io - FilterReader
- Java.io - FilterWriter
- Java.io - InputStream
- Java.io - InputStreamReader
- Java.io - LineNumberInputStream
- Java.io - LineNumberReader
- Java.io - ObjectInputStream
- Java.io - ObjectInputStream.GetField
- Java.io - ObjectOutputStream
- io - ObjectOutputStream.PutField
- Java.io - ObjectStreamClass
- Java.io - ObjectStreamField
- Java.io - OutputStream
- Java.io - OutputStreamWriter
- Java.io - PipedInputStream
- Java.io - PipedOutputStream
- Java.io - PipedReader
- Java.io - PipedWriter
- Java.io - PrintStream
- Java.io - PrintWriter
- Java.io - PushbackInputStream
- Java.io - PushbackReader
- Java.io - RandomAccessFile
- Java.io - Reader
- Java.io - SequenceInputStream
- Java.io - SerializablePermission
- Java.io - StreamTokenizer
- Java.io - StringBufferInputStream
- Java.io - StringReader
- Java.io - StringWriter
- Java.io - Writer
- Java.io package Useful Resources
- Java.io - Discussion
Java - CharArrayWriter Class
Introduction
The Java CharArrayWriter class implements a character buffer that can be used as an Writer. The buffer automatically grows when data is written to the stream.
Class declaration
Following is the declaration for Java.io.CharArrayWriter class −
public class CharArrayWriter extends Writer
Field
Following are the fields for Java.io.CharArrayWriter class −
protected char[] buf − This is the buffer where data is stored.
protected int count − This is the number of chars in the buffer.
protected Object lock − This is the object used to synchronize operations on this stream.
Class constructors
Sr.No. | Constructor & Description |
---|---|
1 |
CharArrayWriter() This creates a CharArrayReader from the specified array of chars. |
2 |
CharArrayWriter(int initialSize) This creates a new CharArrayWriter with the specified initial size. |
Class methods
Sr.No. | Method & Description |
---|---|
1 |
CharArrayWriter append(char c)
This method appends the specified character to this writer. |
2 |
CharArrayWriter append(CharSequence csq)
This method appends the specified character sequence to this writer. |
3 |
CharArrayWriter append(CharSequence csq, int start, int end)
This method appends a subsequence of the specified character sequence to this writer. |
4 |
void close()
This method close the stream. |
5 |
void flush()
This method flush the stream. |
6 |
void reset()
This method resets the buffer so that you can use it again without throwing away the already allocated buffer. |
7 |
int size() This method returns the current size of the buffer. |
8 |
char[] toCharArray()
This method returns a copy of the input data. |
9 |
String toString()
This method converts input data to a string. |
10 |
void write(char[] c, int off, int len)
This method writes characters to the buffer. |
11 |
void write(int c)
This method writes a character to the buffer. |
12 |
void write(String str, int off, int len)
This method write a portion of a string to the buffer. |
13 |
void writeTo(Writer out)
This method writes the contents of the buffer to another character stream. |
Methods inherited
This class inherits methods from the following classes −
- Java.io.Writer
- Java.io.Object
Example - Appending a Single Character to a CharArrayWriter
The following example shows the usage of Java CharArrayWriter append(char c) method.
CharArrayWriterDemo.java
package com.tutorialspoint; import java.io.CharArrayWriter; public class CharArrayWriterDemo { public static void main(String[] args) { // Creating a CharArrayWriter instance CharArrayWriter charArrayWriter = new CharArrayWriter(); // Appending characters one by one charArrayWriter.append('H'); charArrayWriter.append('i'); charArrayWriter.append('!'); // Converting the CharArrayWriter content to a string and displaying it System.out.println("CharArrayWriter content: " + charArrayWriter.toString()); // Closing the CharArrayWriter (not necessary, but good practice) charArrayWriter.close(); } }
Output
Let us compile and run the above program, this will produce the following result −
CharArrayWriter content: Hi!
Explanation
A CharArrayWriter object is created.
The append(char c) method is used to append individual characters: 'H', 'i', and '!'.
The toString() method is called to retrieve and print the content stored in the CharArrayWriter.
Example - Appending a Subsequence from a StringBuilder
The following example shows the usage of Java CharArrayWriter append(CharSequence csq, int start, int end) method.
CharArrayWriterDemo.java
package com.tutorialspoint; import java.io.CharArrayWriter; public class CharArrayWriterDemo { public static void main(String[] args) { CharArrayWriter writer = new CharArrayWriter(); // Create a StringBuilder StringBuilder sb = new StringBuilder("Spring Boot Framework"); // Append a substring from index 7 to 11 ("Boot") writer.append(sb, 7, 11); // Append another substring from index 12 to 21 ("Framework") writer.append(sb, 12, 21); // Print the output System.out.println(writer.toString()); // Output: BootFramework } }
Output
Let us compile and run the above program, this will produce the following result −
BootFramework
Explanation
A StringBuilder "Spring Boot Framework" is created.
The append method extracts "Boot" (index 7 to 11) and appends it.
Another call extracts "Framework" (index 12 to 21) and appends it.
The final output is "BootFramework".
Example - Closing a CharArrayWriter and Writing Data After Closing
The following example shows the usage of Java CharArrayWriter close() method.
CharArrayWriterDemo.java
package com.tutorialspoint; import java.io.CharArrayWriter; import java.io.IOException; public class CharArrayWriterDemo { public static void main(String[] args) throws IOException { CharArrayWriter writer = new CharArrayWriter(); // Write data to CharArrayWriter writer.write("Hello, Java!"); // Close the writer writer.close(); // Append more data after closing (allowed) writer.append(" Still working!"); // Convert to string and print System.out.println(writer.toString()); // Output: Hello, Java! Still working! } }
Output
Let us compile and run the above program, this will produce the following result −
Hello, Java! Still working!
Explanation
A CharArrayWriter object is created.
"Hello, Java!" is written to it.
close() is called, but it does not affect further operations.
" Still working!" is appended even after closing.
The final output is "Hello, Java! Still working!".