黑马程序员技术交流社区

标题: 请教一个毕老师代码问题 [打印本页]

作者: chilong_333    时间: 2013-7-23 14:36
标题: 请教一个毕老师代码问题
本帖最后由 chilong_333 于 2013-7-24 11:34 编辑

io流的复制功能,代码如下。
FileWriter fw = new filewriter("d://copy.txt");
FileReader fr = new filereader("d://demo.java");
int ch = 0 ;
while((ch=fr.read())!=-1)
{
fw.write(ch); //这部往里放的不应该是字符串么?可是这个不是数字么,数字怎么能成功呢?即使成功了也不是想要的内容啊?
}
fr.close();
fw.close();


前面都很明了,就到写入那块有点不理解,write不是得写string类型的么,而且ch就是个int 数字才对。怎么想也和char数组和字符串联系不到一块去啊。
作者: 陈贺    时间: 2013-7-23 14:56
本帖最后由 陈贺 于 2013-7-23 15:12 编辑

read()返回的是int型 你的ch里面是int数字 write可以写int型,只要放的数字是默认字符编码转换的数字
作者: chilong_333    时间: 2013-7-23 17:58
就这里是可以隐式转换的吗?

QQ图片20130723175737.jpg (36.77 KB, 下载次数: 0)

QQ图片20130723175737.jpg

作者: chilong_333    时间: 2013-7-23 18:00
陈贺 发表于 2013-7-23 14:56
read()返回的是int型 你的ch里面是int数字 write可以写int型,只要放的数字是默认字符编码转换的数字 ...

read()到底是返回字符串的asica码数字还是返回了多少次数?
作者: 陈贺    时间: 2013-7-23 21:09
chilong_333 发表于 2013-7-23 18:00
read()到底是返回字符串的asica码数字还是返回了多少次数?

read()返回的是字符串所对应的数字 读到末尾了才返回-1
作者: chilong_333    时间: 2013-7-24 08:38
陈贺 发表于 2013-7-23 21:09
read()返回的是字符串所对应的数字 读到末尾了才返回-1

那就不是返回字符串的位置了?就像如果是A的话就返回97是这样吗?
作者: 陈贺    时间: 2013-7-24 11:28
chilong_333 发表于 2013-7-24 08:38
那就不是返回字符串的位置了?就像如果是A的话就返回97是这样吗?

是这样的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2