StringReader and StringWriter

On this page we will learn java.io.StringReader and java.io.StringWriter with examples. StringReader and StringWriter works on character stream.

StringReader

StringReader takes input string and changes it into character stream.
StringReaderDemo.java
package com.cp.io;
import java.io.IOException;
import java.io.StringReader;
public class StringReaderDemo {
   public static void main(String[] args) {
        String str = "Hello World! \nThis is StringReader Program.";
        StringReader sr = new StringReader(str);
        int i=0;
        try {
        while((i=sr.read())!=-1){
    System.out.print((char)i);
               }
 } catch (IOException e) {
          e.printStackTrace();
 }
    }
} 
Find the output.
Hello World! 
This is StringReader Program.

StringWriter with BufferedReader

StringWriter can use BufferedReader to read file data as a source to be written in character array as buffer.
StringWriterDemoOne.java
package com.cp.io;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StringWriter;
public class StringWriterDemoOne {
 public static void main(String[] args) throws IOException {
  char[] buff = new char[1024];
  StringWriter sw = new StringWriter();
  FileInputStream fis = null;
  BufferedReader bufferReader = null;
  try {
   fis = new FileInputStream("D:/cp/file.txt");
   bufferReader = new BufferedReader(new InputStreamReader(fis, "UTF-8"));
   int n;
                        while ((n = bufferReader.read(buff)) != -1) {
                        sw.write(buff, 0, n);
                }
                System.out.println(sw.toString());
  } catch (IOException e) {
   e.printStackTrace();
  }finally{
   sw.close();
   bufferReader.close();
  }
    }
} 
Find the output.
Hello World! 
This is StringWriter Program.

StringWriter with StringBuffer

StringWriter writes character stream into a StringBuffer and finally this buffer is converted into string.
StringWriterDemoTwo.java
package com.cp.io;
import java.io.StringWriter;
public class StringWriterDemoTwo {
        public static void main(String[] args) {
  String str1 = "Hello World!";
  String str2 ="\nThis is StringReader Program.";
  StringWriter outputWriter = new StringWriter();
  outputWriter.write(str1,0,5);
  System.out.println(outputWriter.toString());
  //get  StringBuffer of outputWriter 
  StringBuffer sbuf = outputWriter.getBuffer();
  //append str2 into StringBuffer
  sbuf.append(str2);
  System.out.println(outputWriter.toString());
 }
}
 
Find the output.
Hello
Hello
This is StringReader Program.

Comments

Popular posts from this blog

gsutil Vs Storage Transfer Service Vs Transfer Appliance

SQL basic interview question