Java I/O_FilterInputStream类

下面4个类都是从FilterInputStream派生来的,具体说明如下。
    ①BufferedInputStream
   从硬盘往一个内存缓冲区进行初始读操作,缓冲区长度默认为 2KB字节,也可以通过入口参数指定缓冲区长度。
 
 
   
   
1 public BufferedInputStreamInputStream in); // 为一个输入流构造一个基于缓冲区的过滤流, 默认为2KB字节
2 public BufferedInputStream(InputStream inint size);// 可以指定缓冲区大小
3 public int available(); // 检测在无阻塞情况下,可以从过滤输入流中读取的 字节数
4 public void markint readlimit); // 输入流的当前位置设置标记,并且限定 在读取readlimit长度的数据后,标记失效。如果使用mark方法后,经历了读操作,然后又使 用reset方法,则将重新回到标记处读取数据。
5 public boolean markSupported(); // 检测输入流是否支持标记操作,如果能支持, 则返回true,否则返回false
6 public int read();
7 public int readbyte b[],int offint len);
8 public void reset(); // 输入流的当前读取位置回到mark方法所设置的标记处,以便 重新读取标记处的数据
9 public long skiplong n);// 跳过n个字节,返回值为实际跳过的字节数
    ②LineNumberInputStream
    这个类用来建立带有行计数功能的过滤输入流,还提供一系列与读操作有关的功能。
 
 
   
   
1 public LineNumberInputStreamInputStream in); // 为某个输入流构造一个带行计数功能的过滤输 入流
2 public int available(); // 获取无阻塞情况下可读的字节数
3 public int getLineNumber(); // 获取当前行号,行号从 0开始排序。
4 public void markint readlimit); // 在当前读取位置设置标记,并且限定在读 取 readlimit长度的数据后,标记失效
5 public int read();
6 public int readbyte b[],int offint len);
7 public void reset(); // 复位,使得返回到上一次标记处,于是,下面可重新读数
8 public void setLineNumberint lineNumbr);//将当前行号设置为指定值
9 public long skiplong n);// 跳过几个字节,返回值为实际跳过的字节数
    ③PushbackInputStream
    这个类用来建立一种特殊的过滤流,它提供一种特殊的方法,即可以把已经读取的一 个字节“推回”到输入流中。用户编写的程序一般很少有这种需求,但是,在编译程序中常常 需要这种操作。因为在编译程序词法分析时,通常需要多读入一个字节以确定词性,然后, 又必须将此多读的字节退回去。所以,对于设计编译程序的计算机系统设计人员来讲,这个子类无疑为其提供极大方便。
 
 
   
   
1 public PushbackInputStreamInputStream in);
2 public int available();
3 public boolean markSupported();
4 pubhc int read();
5 public int readbyte b[],int offint len);
6 public void unreadint ch);
    上述方法中,第1个是构造方法;第2~5个方法和其它子类的相应方法功能相同;第 6个方法unread(int ch)的功能是将刚刚读取的一个字节退回输入流。
    ④DataInputStream
    用这个类建立的过滤流提供一些基于多字节的读取方法,从而可以读取基本类型的数 据,如布尔量、整型数、浮点数等。使用这些方法的原则是必须预先知道数据类型,这样, 才可调用相应的方法来读取 
 
 
   
   
1 public DataInputStreamInputStream in);
2 public final int readbyte b[])throws IOException;
3 public final int readbyte b[],int offint lenthrows IOException
4 public final void readFullybyte b[])throws IOException;//读取输入流中的数据,直到装满整个数组
5 public final void readFullybyte b[],int offint lenthrows IOException; //装 满数组off开始的len长度
6 public final int skipBytesint nthrows IOException
7 public final boolean readBoolean()throws IOException;
8 public final byte readByte()throws IOException;
9 public final int readUnsignedByte()throws IOException;
10 public final short readShort()throws IOException;
11 public final int readUnsignedShort()throws IOException;//读取16位短整型数
12 public final char readChar()throws IOException;
13 public final int readInt()throws IOException;
14 public final long readLong()throws IOException;
15 public final loat readFloat()throws IOException
16 public final double readDouble()throws IOException;
17 public final String readLine()throws IOException;
18 public final String readUTF()throws IOException;// 读UTF(Unicode Text Format)文本格式的字符串,返回值即是读得的字符串内容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值