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.