如题。
当一个函数的输入是一个Reader对象时,如何将其内容读入到一个char数组中?
代码:
public char[] read(Reader x)
{
   char[] c = new char[???]; 
   x.read(c);
   return c;
}以上

解决方案 »

  1.   

     int read(char[] cbuf) 
              将字符读入数组
    用这个方法
      

  2.   

    答:用StringBuilder吧。
    public char[] read(Reader x) 

       StringBuilder sb=new StringBuilder();
       int v=0;
       while((v=x.read())!=-1)
       {
        sb.add((char)v);
       }
        
       return sb.toString().toCharArray(); 

    当然更好的做法是同时用缓冲区,同时读一个字符块。
      

  3.   

    你网上下载一个JavaAPI
    在那里你可以找到你想知道的
      

  4.   

    用bufferedReader封装一下reader
    然后将数据读入一个数组中,每次读完就将其塞入一个全局变量中(例如stringbuffer中)
    直到读完整个流.
    最后将那个全局变量转换为数组即可
      

  5.   

    用Reader读到String,然后用String.toCharArray()就好了