Java 字节输入流的一些方法

来源:互联网 发布:手机渗透软件 编辑:程序博客网 时间:2024/06/15 20:03

前面介绍了read方法,现在大致归鼐一些字节输出和字节输入流的一些方法

  1. int read() 从输入流中读取单个字节,返回所读取的字节数据
(这种方法每次只能读取一个字节,很麻烦)
  1. int read(byte[] b) 从输入流中读取最多b.length长度的字节,并存储在字节数组b中,返回实际读取的字节数(推荐使用第二种方法)
  1. int read(byte[] b,int off , int len); 从输入流中读取len长度的字节,保存到字节数组b中,保存位置从off开始 (这种方式每次需要把数组的成都设置的很大,不推荐使用)
  1. void close();关闭输入流(每次使用完了就一定要关闭)
  2. int available() 返回可以从字节流中读取的字节数目(返回文件长度,本地文件是可以用的,但是网络文件不一定好用,可以通过while(is.available()==0); 解决,但是坏处是有可能会一直在循环,无法实现下面的代码,不严谨!)
  3. skip(long n) 从输入流中跳过参数n指定书目的字节 fis.skip(6);
注意:中文字是两个字节,在中文字段的时候不能是单数。
  1. mark(int readlimit)标记输入流中当前位置,以便可以使用reset()方法复位到该标记的位置 (只要调用一次reset方法就会复位到mark标记的位置上,后面再调用还是会回到mark标记的位置)
  2. void reset() 将当前位置复位为上次调用mark()方法标记的位置

new String(b);可以将byte型数组转为String字符串
读取文件不建议用字节流