Java DataOutputStream size()方法与示例

DataOutputStream类size()方法

  • size()方法在java.io包中可用。

  • size()方法用于返回此流的大小,换句话说,可以说它返回包含已写入字节的变量计数器的值。

  • size()方法是一个非静态方法,只能通过类对象访问,如果尝试使用类名访问该方法,则会收到错误消息。

  • 返回size时,size()方法不会引发异常。

语法:

    public final int size();

参数:

  • 它不接受任何参数。

返回值:

方法的返回类型为int,它返回变量计数器的最后一个值。

示例

//Java程序演示示例 
//size()DataOutputStream的int方法的说明

import java.io.*;

public class SizeOfDOS {
 public static void main(String[] args) throws IOException {
  InputStream is_stm = null;
  DataInputStream dis_stm = null;
  FileOutputStream fos_stm = null;
  DataOutputStream dos_stm = null;
  byte[] b_arr = {
   12,
   20,
   45,
   98,
   75,
   69,
   30,
   58,
   47,
   61,
   83,
   55
  };

  try {
   //实例化FileInputStream- 
   //DataInputStream,FileOutputStream-
   //和DataOutputStream- 

   fos_stm = new FileOutputStream("C:\\Users\\Preeti Jain\\Desktop\\programs\\includehelp.txt");
   dos_stm = new DataOutputStream(fos_stm);
   is_stm = new FileInputStream("C:\\Users\\Preeti Jain\\Desktop\\programs\\includehelp.txt");
   dis_stm = new DataInputStream(is_stm);

   //循环写入每个字节直到结束
   for (byte val: b_arr) {
    //通过使用write()方法isto-
    //将字节值写入
    //DataOutputStream dos_stm-
    dos_stm.write(val);
   }

   //循环读取可用数据直到结束
   while (dis_stm.available() > 0) {
    //通过使用read()isto方法读取 
    //来自dis_stm的字节
    int in = dis_stm.read();
    System.out.println("dis_stm.read(): " + in );
   }

   System.out.println();

   //通过使用size()isto方法返回
   //该流的大小
   int size = dos_stm.size();

   System.out.println("dos_stm.size(): " + size);
  } catch (Exception ex) {
   System.out.println(ex.toString());
  } finally {
   //要释放链接的系统资源
   //这些流
   if (is_stm != null)
    is_stm.close();

   if (dis_stm != null)
    dis_stm.close();

   if (dos_stm != null)
    dos_stm.close();

   if (fos_stm != null)
    fos_stm.close();
  }
 }
}

输出结果

dis_stm.read(): 12
dis_stm.read(): 20
dis_stm.read(): 45
dis_stm.read(): 98
dis_stm.read(): 75
dis_stm.read(): 69
dis_stm.read(): 30
dis_stm.read(): 58
dis_stm.read(): 47
dis_stm.read(): 61
dis_stm.read(): 83
dis_stm.read(): 55

dos_stm.size(): 12