如何将输入Reader流的数据读取到char数组中?

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

以上
...全文
156 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
believefym 2008-05-08
  • 打赏
  • 举报
回复
用Reader读到String,然后用String.toCharArray()就好了
kekeemx 2008-05-08
  • 打赏
  • 举报
回复
用bufferedReader封装一下reader
然后将数据读入一个数组中,每次读完就将其塞入一个全局变量中(例如stringbuffer中)
直到读完整个流.
最后将那个全局变量转换为数组即可
a_nuo 2008-05-08
  • 打赏
  • 举报
回复
你网上下载一个JavaAPI
在那里你可以找到你想知道的
云上飞翔 2008-05-08
  • 打赏
  • 举报
回复
[Quote=引用楼主 moonck 的帖子:]
如题。
当一个函数的输入是一个Reader对象时,如何将其内容读入到一个char数组中?
代码:
public char[] read(Reader x)
{
char[] c = new char[???];
x.read(c);
return c;
}

以上
[/Quote]
答:用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();
}
当然更好的做法是同时用缓冲区,同时读一个字符块。
a_nuo 2008-05-08
  • 打赏
  • 举报
回复
int read(char[] cbuf)
将字符读入数组
用这个方法

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧