java.util.zip.CheckedOutputStream.write() 方法示例



描述

java.util.zip.CheckedOutputStream.write(byte[] b, int off, int len) 方法创建一个字节数组。在实际写入字节内容之前会持续阻塞。

声明

以下是 java.util.zip.CheckedOutputStream.write(byte[] b, int off, int len) 方法的声明。

public void write(byte[] b, int off, int len)
   throws IOException

参数

  • b − 要写入数据的缓冲区。

  • off − 目标数组 b 中的开始偏移量。

  • len − 要写入的字节数。

异常

  • IOException − 如果发生 I/O 错误。

预条件

D:> test > 目录中创建一个名为 Hello.txt 的文件,内容如下。

This is an example.

示例

以下示例演示了如何使用 java.util.zip.CheckedOutputStream.write(byte[] b, int off, int len) 方法。

package com.tutorialspoint;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.Adler32;
import java.util.zip.CheckedOutputStream;

public class CheckedOutputStreamDemo {

   private static String SOURCE_FILE = "D:\\test\\Hello.txt";
   private static String TARGET_FILE = "D:\\test\\Hello1.txt";

   public static void main(String[] args) {
      byte[] buffer = new byte[1024];

      try {
         FileOutputStream fout = new FileOutputStream(TARGET_FILE);
         CheckedOutputStream checksum = new CheckedOutputStream(fout, new Adler32());

         FileInputStream fin = new FileInputStream(SOURCE_FILE);

         int length;
         while((length = fin.read(buffer)) > 0) {
            checksum.write(buffer, 0, length);
         }
         fin.close();
         fout.close();
         System.out.println("File copied!");
         System.out.println("Adler32 Checksum is : " + checksum.getChecksum().getValue());
      } catch(IOException ioe) {
         System.out.println("IOException : " + ioe);
      }
   }
}

编译并运行上述程序后,将生成以下结果 −

File copied!
Adler32 Checksum is : 1126631102
javazip_checkedoutputstream.htm
广告