【IO】中的InputStream类的read(),read(b),read(b,off,len)关于close()及其顺序发生的关系
来源:互联网 发布:软件服务外包发展方向 编辑:程序博客网 时间:2024/05/17 00:56
一、代码及其笔记演示:
package ioDemo.inputStream;import java.io.IOException;import java.io.InputStream;import org.junit.Test;/** * 一、类InputStream。<br> * 二、java.lang.Object->java.io.InputStream。<br> * 三、此类实现的接口:Closeable。<br> * 四、直接子类:ByteArrayInputStream,FileInputStream,FilterInputStream,InputStream,ObjectInputStream,StringBufferInputStream<br> * 五、public abstract class InputStream extends Object implements Closeable<br> * 六、此抽象类是表示字节输入流的所有类的超类。<br> * 七、构造方法:InputStream()<br> * * 八、成员方法:<br> * (1) int avilable() :返回次输入流下一个方法调用可以不受阻塞地从此输入流读取或跳过的估计字节数。<br> * 注意:有些 InputStream 的实现将返回流中的字节总数,但也有很多实现不会这样做。<br> * 类 InputStream 的 available 方法总是返回 0。<br> * (2) abstract int read():从输入流中读取数据的下一个字节。<br> * (3) int read(byte[] b):从输入流中读取一定数量的字节,并将其存储在缓冲区数组b中。<br> * (4) int read(byte[] b,int off,int len):将输入流中最多len个数据字节读入byte数组b中。<br> * (5) void close():关流<br> * *@author <a"283505495@qq.com">lxd</a> *@version 1.0 2017-3-17 下午10:28:33 *@fileName InputSteam.java */public class InputSteam {/** * 测试read()、read(byte[] b)、read(byte[] b,int off,int len)、close()方法 * @throws IOException */@Testpublic void test1() throws IOException{/** * 通过控制台输入是System.in * 通过文件读取是inputStream */System.out.println("----------------read()-----------------");InputStream inOne=System.in;int n2=inOne.read();System.out.print(n2+":"+(char)n2);System.out.println();System.out.println("----------------read(byte[] b,int off,int len)-----------------");InputStream inPart=System.in;byte[] b2=new byte[512];int n3=inPart.read(b2, 0, b2.length);for(int i=0;i<n3;i++){System.out.print((char)b2[i]);}System.out.println("----------------read(byte[] b)-----------------");InputStream in=System.in;byte[] b=new byte[512];int n=in.read(b);//将输入或读取的字节读到缓冲数组b中for(int i=0;i<n;i++){System.out.print((char)b[i]);}}}
二、运行结果:
1、从结果我们看出:输入所有字符可以只读一个,也可以读取一部分,也可以读全部!
2、但是如果在两个字节流读入之间上一个关流的话,会出现后边的输入及读写无法进行!
0 0
- 【IO】中的InputStream类的read(),read(b),read(b,off,len)关于close()及其顺序发生的关系
- InputStream当中read()、read(byte[] b)、read(byte[] b、int off 、int len)的使用
- java.io.InputStream.read(byte[] b, int off, int len)
- Java当中InputStream中read()、read(byte[] b)、read(byte[] b,int off,int len)
- 基于java的InputStream.read(byte[] b,int off,int len)算法学习!
- 基于java的InputStream.read(byte[] b,int off,int len)算法学习
- 基于java的InputStream.read(byte[] b,int off,int len)算法学习
- 基于java的InputStream.read(byte[] b,int off,int len)算法学习!
- InputStream.read(byte[] b,int off,int len)
- InputStream.read(byte[] b,int off,int len)
- 【IO】InputStream的read(byte[] b)方法
- read(char[] b,int off,int len) 和read(char[] b)的区别
- IO流里的 read(),read(byte[]),read(byte[],int off,int len)以及write
- 教你完全理解IO流里的 read(),read(byte[]),read(byte[],int off,int len)以及write
- 教你完全理解IO流里的 read(),read(byte[]),read(byte[],int off,int len)以及write
- InputStream中read()与read(byte[] b)
- InputStream中read()与read(byte[] b)
- InputStream中read()与read(byte[] b)
- java归并排序
- 《数论概论》读书笔记(第一章) 什么是数论?
- PAT 1012. 数字分类 java版
- win10 搭建Qt环境
- CodeForces 675 C Money Transfers
- 【IO】中的InputStream类的read(),read(b),read(b,off,len)关于close()及其顺序发生的关系
- 【J2EE】struts 2框架搭建
- windows 安装 python 及 pip
- Java多线程基础之线程使用
- Attempt to set a non-property-list object
- property文件到vo对象的映射工具类
- 几种开发工具下快速整理代码格式的快捷键
- gcc参数中的-I, -L和-l
- thinking in java——0317学习笔记