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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© caidao 中级黑马   /  2015-9-23 14:44  /  526 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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代表的是值的阿斯克码,还是数组下标,还是?

10 个回复

正序浏览
建议直接查read方法,容易记住。
回复 使用道具 举报
嘉嘉 发表于 2015-9-24 10:25
你读的是一个字节,而帖子上读的是字节数组
bufis.myRead())!=-1
你是怎样进行封装的? ...

就是简单的read方法
回复 使用道具 举报
数字下表!
回复 使用道具 举报
嘉嘉 中级黑马 2015-9-24 10:25:52
8#
caidao 发表于 2015-9-23 15:47
int by = 0;
while((by=bufis.myRead())!=-1)
                {

你读的是一个字节,而帖子上读的是字节数组
bufis.myRead())!=-1
你是怎样进行封装的?
回复 使用道具 举报
xiao_D 高级黑马 2015-9-24 09:55:24
7#
这种问题自己看一下  read方法的介绍不就清楚了  即使别人告诉你  但还不如自己去翻一翻
回复 使用道具 举报
汪磊の 发表于 2015-9-23 19:46
len代表的是read()方法的返回值,在while循环判断语句中就先判断len是否为-1,如果为-1就代表数据读完了, ...

那System.out.println(new String(buf,0,len)里面的len又是什么意思
回复 使用道具 举报
len代表的是read()方法的返回值,在while循环判断语句中就先判断len是否为-1,如果为-1就代表数据读完了,为了做这个判断,所以就先定义了一个int类型的len,初始值为0。
回复 使用道具 举报 1 0
嘉嘉 发表于 2015-9-23 14:51
读入数组的字节个数


int by = 0;
while((by=bufis.myRead())!=-1)
                {
                        bufos.write(by);
                }那为什么这个数可以直接写呢?
回复 使用道具 举报
int by = 0;
while((by=bufis.myRead())!=-1)
                {
                        bufos.write(by);
                }那为什么这个数可以直接写呢?
回复 使用道具 举报
读入数组的字节个数
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马