Android——InputStream&OutputStream

来源:互联网 发布:bec中级用书 知乎 编辑:程序博客网 时间:2024/05/19 14:19

InputStream

  • 常见方法:

    • public abstract int read( ):读取一个byte的数据,返回值是高位补0的int类型值。
    • public int read(byte b[ ]):读取b.length个字节的数据放到b数组中。返回值是读取的字节数。该方法实际上是调用下一个方法实现的。
    • public int read(byte b[ ], int off, int len):从输入流中最多读取len个字节的数据,存放到偏移量为off的b数组中。
    • public int available( ):返回输入流中可以读取的字节数。注意:若输入阻塞,当前线程将被挂起,如果InputStream对象调用这个方法的话,它只会返回0,这个方法必须由继承InputStream类的子类对象调用才有用。
    • public long skip(long n):忽略输入流中的n个字节,返回值是实际忽略的字节数, 跳过一些字节来读取。
    • public int close( ) :我们在使用完后,必须对我们打开的流进行关闭。
  • 常见子类:

    • ByteArrayInputStream:字节数组输入流
    • FileInputStream:文件输入流

      //法一File fin=new File("d:/abc.txt");FileInputStream in=new FileInputStream(fin);//法二FileInputStream in=new FileInputStream("d: /abc.txt");//注意:结束后close()
    • BufferedInputStream:带缓冲区输入流

      //允许程序在不降低系统性能的情况下一次一个字节的从流中读取数据//构造函数BufferInputStreamb= new BufferInputstream(in);BufferInputStreamb=new BufferInputStream(in,size);//size:缓冲器的大小
    • DataInputStream:数据输入流

    • ObjectInputStream:对象输入流

OutputStream

  • 常见方法:

    • public void write(byte b[ ]):将参数b中的字节写到输出流。
    • public void write(byte b[ ], int off, int len) :将参数b的从偏移量off开始的len个字节写到输出流。
    • public abstract void write(int b) :先将int转换为byte类型,把低字节写入到输出流中。
    • public void flush( ) : 将数据缓冲区中数据全部输出,并清空缓冲区。
    • public void close( ) : 关闭输出流并释放与流相关的系统资源。
  • 常见子类:

    • ByteArrayOutputStream
    • FileOutputStream

      //法一File f=new File("d:/abc.txt");FileOutputStream out=new FileOutputStream (f);//法二FileOutputStream out=new FileOutputStream("d:/abc.txt");//注意:执行写操作时,若文件已存在,则覆盖;注意结束后close()
    • BufferedOutputStream

    • DataOutputStream
    • ObjectOutputStream

参考:
http://blog.csdn.net/lanhuzi9999/article/details/31389963

0 0
原创粉丝点击