CharArrayWriter类——使用数组作为目标的一个输出流实现

CharArrayWriter类

   CharArrayWriter类是使用数组作为目标的一个输出流实现,CharArrayWriter类有两个构造函数 如下所示

     CharArrayWriter()

     CharArrayWriter(in numberChar)

     在第一种形式中,创建使用默认大小的缓存。第二种形式中,创建由numberChars指定大小的缓存。第二种形式中,创建由numberChar指定大小的缓存。缓存保存在CharArrayWriter类的buf域变量中。buf与count都是受保护的域变量。如果需要缓存大小可以自动增加。缓存能够容纳的字符数量保存在CharArrayWriter类的count域变量中。buf与count都是受保护的域变量。

     字段摘要:

     protect char[] buf 存储数据的缓冲区

     protect int count  缓冲区的char数目

     close方法对CharArrayWriter没有影响,CharArrayWriter类相对于Writer类增添的不同用法如下所示:

     (void reset()重置该缓冲区 )

  •   char[] toCharArray() 返回输入数据的副本
  •   String toString()  将输入数据转化为字符串
  •   void writeTo(Writer out) 将缓冲区的内容写入另一个字符流

import java.io.*;
class CharArrayWriterDemo {
 public static void main(String[] args) throws IOException{
	 CharArrayWriter f=new CharArrayWriter();
	 String s="这是CharArrayReader类的有关内容";
	 char buf[]=new char[s.length()];
	 s.getChars(0,s.length(),buf,0);
	 
	 try{
		 f.write(buf);
	 }catch(IOException e){
		 System.out.println("Error Writing to Buffer");
		 return;
	 }
	 
	 System.out.println("Buffer as a string");
	 System.out.println(f.toString());
	 System.out.println("Into array");
	 
	 char c[]=f.toCharArray();
	 for(int i=0;i<c.length;i++) System.out.print(c[i]);
	 
	 System.out.println("\nTo a FileWriter() ");
	 
	 try(FileWriter f2=new FileWriter("c:1.txt")){
		 f.writeTo(f2);
	 }catch(IOException e){
		 System.out.println("IO Error: "+e);
	 }
	 
	 System.out.println("Doing a reset");
	 f.reset();
	 
	 for(int i=0;i<3;i++) f.write('X');
	 
	 System.out.println(f.toString());
 }
}

   


你可能感兴趣的:(CharArrayWriter类——使用数组作为目标的一个输出流实现)