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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© sunxiaohong 中级黑马   /  2015-5-6 12:38  /  466 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 sunxiaohong 于 2015-5-6 21:42 编辑

public class Demo {
        public static void main(String[] args) throws IOException{
                InputStreamReader in = new InputStreamReader(new FileInputStream("OSW_GBK_2.txt"),"GBK");
               
               
                //一次读取一个字符
                /*int n = 0;
                while((n = in.read()) != -1){
                        System.out.print((char)n);
                }*/
                System.out.println("----------------------------------------");
                //一次读取一个字符数组
                char[] charArray = new char[1024];
                int len = 0;
                while((len = in.read(charArray)) != -1){
                        System.out.print(new String(charArray,0,len));
                }
                //释放资源
                in.close();
        }
}



这是我昨天的课,讲的IO 字符流,求大神解释一下,System.out.print(new String(charArray,0,len));这句话的具体含义,弄了半天没明白???

评分

参与人数 1黑马币 +6 收起 理由
xiaosuisky + 6 很给力!加油

查看全部评分

9 个回复

倒序浏览
就是将len长度的字符存放到charArray中,然后将charArray从第0个到第len个字符转换成字符串,在控制台打印出来,嗯 应该是这个意思
回复 使用道具 举报
new String(charArray,0,len)。这是字符串的构造方法中的,将长度为len的字符数组从0角标开始转转换成字符串,包含头不包含尾。
回复 使用道具 举报
在String类中一个构造方法,String(char[] value, int offset, int count) :分配一个新的 String,它包含取自字符数组参数一个子数组的字符。new String(charArray,0,len)就是将charArray数组从0开始,取len个字符,转成字符串,相当于你的字符数组,读完一次转成字符串打印一次。
回复 使用道具 举报
一句话:就是把charArray的字符数组转化成为字符串打印出来哈!其中的重点:0代表从数组的0角标位置开始转化,到上述读到的len位置处的角标位结束!

点评

貌似明白了,谢谢大神  发表于 2015-5-6 21:41
回复 使用道具 举报
相当于:
String str = new String(charArray,0,len);
System.out.print(str);
回复 使用道具 举报
IDhmpj 发表于 2015-5-6 20:08
相当于:
String str = new String(charArray,0,len);
System.out.print(str);

这样看着会比较顺眼些.
String str=new String(charArray,0,len)//??这是字符串的构造方法吗?
回复 使用道具 举报
sunxiaohong 发表于 2015-5-6 21:39
这样看着会比较顺眼些.
String str=new String(charArray,0,len)//??这是字符串的构造方法吗? ...
相似的还有一个对应字节数组的String(byte[] bytes, int offset, int length),经常使用这个。还有将字符串变为字节数组的方法getBytes(String charsetName) 。
从学到String的那一刻,就意味着已经离不开了,出镜率是在太高了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马