Java - DataOutputStream size() 方法



描述

Java DataOutputStream size() 方法返回写入计数器的当前值,即到目前为止写入此数据输出流的字节数。如果计数器溢出,它将被包装到 Integer.MAX_VALUE。

声明

以下是 java.io.DataOutputStream.size() 方法的声明:

public int size()

参数

返回值

该方法返回写入字段的值。

异常

示例 1

以下示例演示了 Java DataOutputStream size() 方法的用法。我们创建了 FileOutputStream 和 DataOutputStream 引用。一个 byte[] buf 用一些字节值初始化。一个 FileOutputStream 对象用 File 创建。然后 DataOutputStream 用之前创建的 FileOutputStream 对象初始化。然后迭代字节数组以将字节值写入数据输出流。在迭代期间,我们打印输出流的大小。最后,我们关闭所有流。

import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class DataOutputStreamDemo {
   public static void main(String[] args) throws IOException {
      FileOutputStream fos = null;
      DataOutputStream dos = null;
      byte[] buf = {87,64,72,31,90};
      
      try {
         // create file output stream
         fos = new FileOutputStream("F:/test.txt");
         
         // create data output stream
         dos = new DataOutputStream(fos);

         int size = 0;

         // for each byte in the buffer
         for (byte b:buf) {
            dos.write(b);
            
            // current value of the counter written
            size = dos.size();

            // print
            System.out.print("Size: "+size + "; ");
         }
         
      } catch(Exception e) {
         // if any error occurs
         e.printStackTrace();
      } finally {
         // releases all system resources from the streams
         if(fos!=null)
            fos.close();
         if(dos!=null)
            dos.close();
      }
   }
}

输出

让我们编译并运行以上程序,这将产生以下结果:

Size: 1; Size: 2; Size: 3; Size: 4; Size: 5; 

示例 2

以下示例演示了 Java DataOutputStream size() 方法的用法。我们创建了 FileOutputStream 和 DataOutputStream 引用。一个 byte[] buf 用一些字节值初始化。一个 FileOutputStream 对象用 File 创建。然后 DataOutputStream 用之前创建的 FileOutputStream 对象初始化。然后迭代字节数组以将字节值写入数据输出流。所有字节写入后,我们打印流的大小。然后作为一个特殊情况,我们关闭流,然后检查大小。它仍然有效并打印流的大小。最后,我们关闭所有流。

import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class DataOutputStreamDemo {
   public static void main(String[] args) throws IOException {
      FileOutputStream fos = null;
      DataOutputStream dos = null;
      byte[] buf = {87,64,72,31,90};
      
      try {
         // create file output stream
         fos = new FileOutputStream("F:/test.txt");
         
         // create data output stream
         dos = new DataOutputStream(fos);

         int size = 0;

         // for each byte in the buffer
         for (byte b:buf) {
            dos.write(b);          
         }
         // current value of the counter written
         size = dos.size();

         // print the size
         System.out.print("Size: "+size + "; ");
		
         // close the stream.
         dos.close();

         // print the size again.
         System.out.print("Size after closing: "+size + "; ");
      } catch(Exception e) {
         // if any error occurs
         e.printStackTrace();
      } finally {
         // releases all system resources from the streams
         if(fos!=null)
            fos.close();
         if(dos!=null)
            dos.close();
      }
   }
}

输出

让我们编译并运行以上程序,这将产生以下结果:

Size: 5; Size after closing: 5; 
java_dataoutputstream.htm
广告

© . All rights reserved.