作者:maylo1978 | 来源:互联网 | 2023-09-18 13:58
一、关于IO中的InputStream中的read(byt[]b)方法:****InputStream助学笔记*1、测试InputStream的使用。*2、ja
一、关于IO中的InputStream中的read(byt[] b)方法:
/**** @InputStream助学笔记* 1、测试InputStream的使用。* 2、java.lang.Object->java.io.InputStream。
* 3、InputStream 实现的接口有Closeable。
* 4、public abstract class InputStream extends Object implements Closeable。
* 5、直接已知子类:
* AudioInputStream,ByteArrayInputStream,FileInputStream,FilterInputStream,
* InputStream,ObjectInputStream,SequenceInputStream
* 6、次抽象类是表示字节输入流的所有类的超类。需要定义InputStream子类的应用程序必须总是返回下一个输入字节的方法。
* 7、InputStream中的方法:
* (1)abstract int read():从输入流中读取数据的下一个字节。
* (2)int read(byte[] b):从输入流中读取一定数量的字节,并将其存储在缓冲区数组b中。此处“换行('\r''\n')的转义字符的ASSIC码值是:13,10”。
* (3) * *@author lxd*@version 1.0 2017-3-11 下午10:11:05*@fileName InputStreamDemo1.java*/
二、演示代码:
public class InputStreamDemo1 {public static void main(String[] args) {InputStream inputStream=System.in;byte[] b=new byte[512];try {int n=inputStream.read(b);for(int i=0;i"+(char)b[i]+",");}else{System.out.print(+b[i]+"<==>"+(char)b[i]+",");}}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
}
三、运行结果:
![](https://img-blog.csdn.net/20170312002008431?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzU0MTU2MDA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
1、从运行结果可以看出:
(1)InputStream中的read(byte[] b)方法是:从输入流中读取一定数量的字节,并将其存储在缓冲区数组b
中。以整数形式返回实际读取的字节数。
(2)read方法读取某的一个字节可以转换为相应的ASSIC码字符,因此ASSIC码为13对应的是回车(&#39;\r&#39;)、10对应的是换行(&#39;\n&#39;),这个我们可以从运行结果看出。
(3)windows中的换行符是\r\n,linux/unix下的换行符是\n。其中:回车符:\r=0x0d (13) return #回车;换行符:\n=0x0a (10) newline#换行。