黑马程序员技术交流社区

标题: io流里的read方法 [打印本页]

作者: caidao    时间: 2015-9-23 14:44
标题: io流里的read方法
public static void readFile_2()throws IOException
        {
                FileInputStream fis = new FileInputStream("fos.txt");

                byte[] buf = new byte[1024];
                int len = 0;
                while((len=fis.read(buf))!=-1)
                {
                        System.out.println(new String(buf,0,len));
                }

                fis.close();
               
        }
求教len代表的是值的阿斯克码,还是数组下标,还是?
作者: 嘉嘉    时间: 2015-9-23 14:51
读入数组的字节个数
作者: caidao    时间: 2015-9-23 15:46
int by = 0;
while((by=bufis.myRead())!=-1)
                {
                        bufos.write(by);
                }那为什么这个数可以直接写呢?
作者: caidao    时间: 2015-9-23 15:47
嘉嘉 发表于 2015-9-23 14:51
读入数组的字节个数


int by = 0;
while((by=bufis.myRead())!=-1)
                {
                        bufos.write(by);
                }那为什么这个数可以直接写呢?
作者: 汪磊の    时间: 2015-9-23 19:46
len代表的是read()方法的返回值,在while循环判断语句中就先判断len是否为-1,如果为-1就代表数据读完了,为了做这个判断,所以就先定义了一个int类型的len,初始值为0。
作者: caidao    时间: 2015-9-24 09:18
汪磊の 发表于 2015-9-23 19:46
len代表的是read()方法的返回值,在while循环判断语句中就先判断len是否为-1,如果为-1就代表数据读完了, ...

那System.out.println(new String(buf,0,len)里面的len又是什么意思
作者: xiao_D    时间: 2015-9-24 09:55
这种问题自己看一下  read方法的介绍不就清楚了  即使别人告诉你  但还不如自己去翻一翻
作者: 嘉嘉    时间: 2015-9-24 10:25
caidao 发表于 2015-9-23 15:47
int by = 0;
while((by=bufis.myRead())!=-1)
                {

你读的是一个字节,而帖子上读的是字节数组
bufis.myRead())!=-1
你是怎样进行封装的?
作者: 生存追求    时间: 2015-9-24 12:24
数字下表!
作者: caidao    时间: 2015-9-24 15:32
嘉嘉 发表于 2015-9-24 10:25
你读的是一个字节,而帖子上读的是字节数组
bufis.myRead())!=-1
你是怎样进行封装的? ...

就是简单的read方法
作者: wzhlf6912919    时间: 2015-9-24 15:48
建议直接查read方法,容易记住。




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