【IO】InputStream的read(byte[] b)方法
1、从运行结果可以看出:(1)InputStream中的read(byte[] b)方法是:从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中。以整数形式返回实际读取的字节数。(2)read方法读取某的一个字节可以转换为相应的ASSIC码字符,因此ASSIC码为13对应的是回车('\r')、10对应的是换行('\n'),这个我们可以从运行结果看出。(3)windows中的换行符是\r\n
·
一、关于IO中的InputStream中的read(byt[] b)方法:
/***
* @InputStream助学笔记
* 1、测试InputStream的使用。<p/>
* 2、java.lang.Object->java.io.InputStream。<p/>
* 3、InputStream 实现的接口有Closeable。<p/>
* 4、public abstract class InputStream extends Object implements Closeable。<p/>
* 5、直接已知子类:<p/>
* AudioInputStream,ByteArrayInputStream,FileInputStream,FilterInputStream,<p/>
* InputStream,ObjectInputStream,SequenceInputStream<p/>
* 6、次抽象类是表示字节输入流的所有类的超类。需要定义InputStream子类的应用程序必须总是返回下一个输入字节的方法。<p/>
* 7、InputStream中的方法:<p/>
* (1)abstract int read():从输入流中读取数据的下一个字节。<p/>
* (2)int read(byte[] b):从输入流中读取一定数量的字节,并将其存储在缓冲区数组b中。此处“换行('\r''\n')的转义字符的ASSIC码值是:13,10”。<p/>
* (3)
*
*@author <a"283505495@qq.com">lxd</a>
*@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<n;i++){
/***
* 此处“换行('\r''\n')的转义字符的ASSIC码值是:13,10”
*/
if(i==0){System.out.print("读取到b数组中的 "+n+" 个字节为:\n"+b[i]+"<==>"+(char)b[i]+",");
}else{
System.out.print(+b[i]+"<==>"+(char)b[i]+",");
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
三、运行结果:
1、从运行结果可以看出:
(1)InputStream中的read(byte[] b)方法是:从输入流中读取一定数量的字节,并将其存储在缓冲区数组b
中。以整数形式返回实际读取的字节数。
(2)read方法读取某的一个字节可以转换为相应的ASSIC码字符,因此ASSIC码为13对应的是回车('\r')、10对应的是换行('\n'),这个我们可以从运行结果看出。
(3)windows中的换行符是\r\n,linux/unix下的换行符是\n。其中:回车符:\r=0x0d (13) return #回车;换行符:\n=0x0a (10) newline#换行。
更多推荐
已为社区贡献1条内容
所有评论(0)