A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

今天在学习IO的时候遇到了将字符数组转换成字符串的问题,视频中毕老师是用下面方法:
  1. while ((num = fr.read(cbuf)) != -1) { //从文件中读取的内容会存储到数组中
  2.                                 System.out.print(new String(cbuf, 0, num));
  3.                         }
复制代码
这是使用了String类的构造函数将数组中偏移量为0,长度为num的所有字符转换成字符串。
网上找了一下大家都用的这个方法,想问一下大家有没有别的类或者什么方法?


13 个回复

正序浏览
加油加油:victory:
回复 使用道具 举报
iamnoten 发表于 2015-6-5 10:11
没有方法直接read string吗?

BufferedReader中readLine方法到是可以
回复 使用道具 举报
少年闰土 发表于 2015-6-5 09:27
恩 刚才具体查了一下,确实这个方法可以,看来还是练的太少,都没记住

恩恩,加油加油
回复 使用道具 举报
没有方法直接read string吗?
回复 使用道具 举报
嘎路的米 发表于 2015-6-5 09:34
个人认为,用new String(char[] value, int offset, int count);比较好一点
因为它不仅有接收char[]的构造 ...

恩 目前是这么个道理,具体还有什么细微的差别或者别的方法,还得学习,向大神请教啊
回复 使用道具 举报
java8023 发表于 2015-6-5 00:48
用StringBuffer可以,但是不如你说的简单

char[] cbuf = new char[4];       

StringBuffer strBuf = new StringBuffer();
strBuf.append(cbuf, offset, len);
               
strBuf.toString();


确实看了一下可以就是麻烦一点:lol,谢谢了
回复 使用道具 举报
个人认为,用new String(char[] value, int offset, int count);比较好一点
因为它不仅有接收char[]的构造方法,还有接收byte[]的构造方法,
如果使用的是String.valueOf();,那么只有接收char[]的方法,
所以建议使用new String(),毕竟功能比String.valueOf多
回复 使用道具 举报
武汉小菜鸟 发表于 2015-6-4 23:03
String.copyValueOf(char[] data, int offset, int count)

恩 刚才具体查了一下,确实这个方法可以,看来还是练的太少,都没记住
回复 使用道具 举报

刚入门,让你见笑了
回复 使用道具 举报
用StringBuffer可以,但是不如你说的简单
回复 使用道具 举报
看醉了。
回复 使用道具 举报
lizhi 来自手机 中级黑马 2015-6-4 23:18:37
藤椅
少年闰土 发表于 2015-6-4 22:36
今天在学习IO的时候遇到了将字符数组转换成字符串的问题,视频中毕老师是用下面方法:这是使用了String类的 ...

可以用 StringBuffer
回复 使用道具 举报
String.copyValueOf(char[] data, int offset, int count)
回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马