InputStream的read方法是什么?

InputStream的read方法,带参的和不带参的返回值有啥区别,比如我输入1,不带参数返回asc码是49,我要是传一个byte数组进去返回是3为啥?

InputStream的read()方法:

    public  abstract  int  read()  throws  IOException

    从(来源)输入流中(读取的内容)读取数据的下一个字节到(去处)java程序内部中

    返回值为0到255的int类型的值,返回值为字符的ACSII值(如a就返回97,n就返回110).

    如果没有可用的字节,因为已经到达流的末尾, -1返回的值

    运行一次只读一个字节,所以经常与while((len = inputstream.read()) != -1)一起使用

    read(byte [] b )

    public int read(byte[] b) throws IOException

    从(来源)输入流中(读取内容)读取的一定数量字节数,并将它们存储到(去处)缓冲区数组b中

    返回值为实际读取的字节数

    运行一次读取一定的数量的字节数.java会尽可能的读取b个字节,但也有可能读取少于b的字节数.至少读取一个字节

    第一个字节存储读入元素b[0],下一个b[1],等等。读取的字节数是最多等于b的长度。

    如果没有可用的字节,因为已经到达流的末尾, -1返回的值 

    如果b.length==0,则返回0,read( byte [] b , int off , int len)

    public int read(byte[] b, int off, int len,    throws IOException)

    读取 len字节的数据从输入流到一个字节数组。

    试图读取多达 len字节,但可能读取到少于len字节。返回实际读取的字节数为整数。 

    第一个字节存储读入元素b[off],下一个b[off+1],等等。读取的字节数是最多等于len。k被读取的字节数,这些字节将存储在元素通过b[off+k-1]b[off],离开元素通过b[off+len-1]b[off+k]未受影响。

    read(byte[]b)就是相当于read(byte [] b , 0 , b.length).所以两者差不多.性质一样。

InputStream简介:


    InputStream的作用是标志那些从不同数据起源产生输入的类。这些数据起源包括(每个都有一个相关的InputStream子类)。

    InputStream的使用方法:

    读取内存

    现在String s2里面已经有一个完整的文件了。因此这部分程序要用它去创建一个

    StringReader。然后用(StringReader的)read( )方法把字符读出来,再送到控制台上去。

    注意,read( )会把读出来的byte当作int,所以要想正常打印的话,你得先把它们转换成

    char。

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网