流-输入输出流

基本概念

  • 在Java api中,可以从读入一个字节序列的对象称做输入流,而可以向其中写入一个字节序列的对象称作输出流
  • 这些字节序列的来源地和目的地可以是文件,也可以是网络连接,甚至是内存块
  • 抽象类InputStreamOutputStream面向字节操作构成了输入/输出(I/O)类层次结构的基础。
  • 面向字节的流不便于处理以Unicode形式存储的信息,所以从抽象类Reader和Writer中继承出来了一个专门用于处理Unicode字符的单独的类层次结构。这些类拥有的读入和写出都是基于两个字节的字符(char)。
  • API java.io.InputStream 1.0
    • abstract int read() 从数据读入一个字节,发返回该字节。这个read方法在碰到流的结尾时返回-1.
    • int read(byte[] b)
    • int read(byte[] b, int off, int len) 读入一个字节数组。这个方法返回实际读入的字节数,或者在碰到流的结尾时返回-1。
    • long skip(long n) 在输入流中跳过n个字节,返回实际跳过的字节数(如果碰到流的结尾,则可能小于n)。
    • int available() 返回在不阻塞的情况下可获取的字节数
    • void close() 关闭这个输入流
  • API java.io.OutputStream 1.0
    • abstract void write(int n) 写出一个字节的数据。
    • void write(byte[] b)
    • void write(byte[] b, int off, int len) 写出所有字节或者某个范围的字节到数组b中。参数:b 数据写出的数组; off 第一个写出自己在b中的偏移量 ; len 写出字节的最大数量;
    • void close() 冲刷并关闭输出流
    • void flush() 冲刷输出流,也就是将所有的缓冲的数据发送到目的地

流-输入输出流_第1张图片

你可能感兴趣的:(Java)