zoukankan      html  css  js  c++  java
  • 字节流

    java最基本字节流类的顶层类有两个,一个是基本输入流InputStream类,另一个是基本输出流OutputStream类,为Object类派生,同时InputStream和OutputStream又派生很多子类。

    所有的字节流都是InputStream抽象类和OutputStream抽象类的子类。在创建流时通过创造它们的子类来创造流

    •   read()从流中读取一个字节(整型),遇到尾返回-1
    • int read(byte[] b)读取b.length个字节存入数组b中,返回实际读取的字节数
    • int read(byte[] b,int off,int len)返回实际读取的字节数
    • int available()返回流中可读字节数
    • void close()关闭输入流

      流式输入最基本的特点就是读操作的顺序性,每个流都有一个位置指针,它在流刚被创建式产生并指向流的第一个数据,以后的每次读操作都是在当前位置指针处执行,伴随流操作的执行,位置指针自动后移,指向下一个未被读取的数据。Inputstream用来控制位置指针的有以下几个:

    • public long skip(long n)
    • public void mark()在当前位置指针处做一个标记
    • public void reset()将位置指针返回到标记的位置
      import java.io.*;
      public class ByteArray {
      public static void main(String[] args) {
          byte[] byteArray = new byte[10];//声明、定义数组
          byte[] byteArr2 = new byte[10];
          DataInputStream data = new DataInputStream(System.in);/*创建数据输入流对象*/
          ByteArrayInputStream byteStream;
          try {
              data.read(byteArray);//执行对象方法从键盘上输入数据放入字节数组中
              byteStream = new ByteArrayInputStream(byteArray);/*创建字节数组输入流对象*/
              byteStream.read(byteArr2,3,5);/*将流中前5字节放入byteArray2的第三位置之后*/
          } catch (IOException e) {
              System.out.println(e.toString());
          }
          for(int i=0;i<byteArray.length;i++)
              System.out.print(byteArray[i] + " ");//打印数组元素
          System.out.println();
          for(int i = 0;i<byteArr2.length;i++)
              System.out.print(byteArr2[i] + "  ");
      }
      }
  • 相关阅读:
    随记
    bzoj3551 [ONTAK2010]Peaks加强版
    bzoj2763 [JLOI2011]飞行路线
    bzoj1758 [Wc2010]重建计划
    bzoj1857 [Scoi2010]传送带
    bzoj4519 [Cqoi2016]不同的最小割
    bzoj2229 [Zjoi2011]最小割
    bzoj4129 Haruna’s Breakfast
    bzoj1835 [ZJOI2010] 基站选址
    bzoj2160 拉拉队排练
  • 原文地址:https://www.cnblogs.com/gride-glory/p/7688904.html
Copyright © 2011-2022 走看看