File read write IO operation in java – StringWriter/StringReader (example)

  • We will discuss file IO operations (read and write) using StringReader and StringWriter.

File IO operation in java (StringReader and StringWriter)

  • StringWriter is used to write contents as a String
  • StringReader is used to read contents as a String.
  • We have shown content writing using StringWriter in Fig 1.
File read write StringWriter stringReader
Fig 1: Writing content to file

Code: Read write file in java – StringWriter & StringReader

package org.learn.io;
 
import java.io.FileWriter;
import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter;
 
public class StringReaderWriter {
    public static void main(String[] args) throws IOException {
        String contentWriten = writeUsingStringWriter();
        readUsingStringReader(contentWriten);
    }
 
    private static String writeUsingStringWriter() throws IOException {
        String contentWritten = "";
        String newLine = System.getProperty("line.separator");
        try (FileWriter fileWriter = new FileWriter("sampleFile.txt");
                StringWriter stringWriter = new StringWriter()) {
            stringWriter.write("Soccer");
            stringWriter.write(newLine);
            stringWriter.write("Tennis");
            stringWriter.write(newLine);
            stringWriter.write("Badminton");
            stringWriter.write(newLine);
            stringWriter.write("Hockey");
            stringWriter.write(newLine);
            contentWritten = stringWriter.toString();
            fileWriter.write(contentWritten);
            System.out.println("Writing content using StringWriter:");
            System.out.println(contentWritten);
        }
        return contentWritten;
    }
 
    private static void readUsingStringReader(String content) throws IOException {
        System.out.println("Reading content using StringReader:");
        try (StringReader stringReader = new StringReader(content)) {
            int ch;
            while ((ch = stringReader.read()) != -1)
                System.out.printf("%c", ch);
        }
    }
}

Output – read write file using StringWriter & StringReader

Writing content using StringWriter:
Soccer
Tennis
Badminton
Hockey
 
Reading content using StringReader:
Soccer
Tennis
Badminton
Hockey