GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Python Technologies
  • Databases
  • Computer Programming
  • Web Development
  • Java Technologies
  • Computer Science
  • Mobile Development
  • Big Data & Analytics
  • Microsoft Technologies
  • DevOps
  • Latest Technologies
  • Machine Learning
  • Digital Marketing
  • Software Quality

This view

  • Original page
  • New address

GeezerVison is showing www.tutorialspoint.com — Java - CharArrayWriter Class

Java.io Package Tutorial
  • 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 - Interfaces
  • Java.io - Exceptions
  • Java.io package Useful Resources
  • Java.io - Discussion
Selected Reading
  • UPSC IAS Exams Notes
  • Developer's Best Practices
  • Questions and Answers
  • Online Resume Builder
  • HR Interview Questions
  • Computer Glossary
  • Who is Who

Java - CharArrayWriter Class



Previous
Quiz
Next

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!".

Tutorix - AI Tutor
Previous Quiz Next
Advertisements
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.