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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李敬 中级黑马   /  2012-8-22 08:33  /  1755 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


想知道通过字符流得到的字符数组跟自定义带有数据的字符数组有什么区别呢?

写个例子吧

FileReader fr newFileReader("abc.txt");//这里abc.txt假如中是abcdef
char[] ch =new char[6];
fr.read(ch);//这里是将什么写到ch里了,ch里有没有什么数据呢?
char[] arr = new char[]{'a','b','c','d','e','f'}

评分

参与人数 1黑马币 +30 收起 理由
张立江 + 30

查看全部评分

3 个回复

倒序浏览
      要定义空的数组,因为要往数组里面添加数据,当然如果添加的时候原来有的话要覆盖原来的内容,如果你用6个长度的带有内容的数组的话比如你写的char[] arr = new char[]{'a','b','c','d','e','f'},当添加的数据大于6个字符的话应该就没有关系了,都给覆盖掉了 ,但是如果添加5的话,就会有一个问题,字符'f'会被读取出来。
     我是这么理解的  希望对你有帮助。

评分

参与人数 1技术分 +1 收起 理由
张立江 + 1 赞一个!

查看全部评分

回复 使用道具 举报
FileReader fr newFileReader("abc.txt");//这里abc.txt假如中是abcdef
char[] ch =new char[6];                        
fr.read(ch);//这里是将什么写到ch里了,ch里有没有什么数据呢?   ,当然是通过fr.read()读取abc.txt文件中的数据,然后存到你定义的ch数组里了,既然存进去了就有数据了,API文档中有这个方法的介绍,对应截图看看
char[] arr = new char[]{'a','b','c','d','e','f'}


至于你说的通过字符流得到的字符数组跟自定义带有数据的字符数组有什么区别,我觉得没什么什么区别,都是字符数组嘛,要是有区别,那就是一个是通过流从文件中读取的数据,一个是自己给的的数据,数据源不同。

评分

参与人数 1技术分 +1 收起 理由
张立江 + 1

查看全部评分

回复 使用道具 举报
你在后面加一句System.out.println(Arrays.equals(ch,arr));看看结果
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马