java.applet

java.awt

java.awt.color

java.awt.datatransfer

java.awt.dnd

java.awt.event

java.awt.font

java.awt.geom

java.awt.im

java.awt.im.spi

java.awt.image

java.awt.image.renderable

java.awt.print

java.beans

java.beans.beancontext

java.io

java.lang

java.lang.annotation

java.lang.instrument

java.lang.management

java.lang.ref

java.lang.reflect

java.math

java.net

java.nio

java.nio.channels

java.nio.channels.spi

java.nio.charset

java.nio.charset.spi

java.rmi

java.rmi.activation

java.rmi.dgc

java.rmi.registry

java.rmi.server

java.security

java.security.acl

java.security.cert

java.security.interfaces

java.security.spec

java.sql

java.text

java.util

java.util.concurrent

java.util.concurrent.atomic

java.util.concurrent.locks

java.util.jar

java.util.logging

java.util.prefs

java.util.regex

java.util.zip

javax.accessibility

javax.activity

javax.crypto

javax.crypto.interfaces

javax.crypto.spec

javax.imageio

javax.imageio.event

javax.imageio.metadata

javax.imageio.plugins.bmp

javax.imageio.plugins.jpeg

javax.imageio.spi

javax.imageio.stream

javax.management

javax.management.loading

javax.management.modelmbean

javax.management.monitor

javax.management.openmbean

javax.management.relation

javax.management.remote

javax.management.remote.rmi

javax.management.timer

javax.naming

javax.naming.directory

javax.naming.event

javax.naming.ldap

javax.naming.spi

javax.net

javax.net.ssl

javax.print

javax.print.attribute

javax.print.attribute.standard

javax.print.event

javax.rmi

javax.rmi.CORBA

javax.rmi.ssl

javax.security.auth

javax.security.auth.callback

javax.security.auth.kerberos

javax.security.auth.login

javax.security.auth.spi

javax.security.auth.x500

javax.security.cert

javax.security.sasl

javax.sound.midi

javax.sound.midi.spi

javax.sound.sampled

javax.sound.sampled.spi

javax.sql

javax.sql.rowset

javax.sql.rowset.serial

javax.sql.rowset.spi

javax.swing

javax.swing.border

javax.swing.colorchooser

javax.swing.event

javax.swing.filechooser

javax.swing.plaf

javax.swing.plaf.basic

javax.swing.plaf.metal

javax.swing.plaf.multi

javax.swing.plaf.synth

javax.swing.table

javax.swing.text

javax.swing.text

javax.swing.text.parser

javax.swing.text.rtf

javax.swing.tree

javax.swing.undo

javax.transaction

javax.transaction.xa

javax.xml

javax.xml.datatype

javax.xml.namespace

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom

javax.xml.transform.sax

javax.xml.transform.stream

javax.xml.validation

javax.xml.xpath

org.ietf.jgss

org.omg.CORBA

org.omg.CORBA_2_3

org.omg.CORBA_2_3.portable

org.omg.CORBA.DynAnyPackage

org.omg.CORBA.ORBPackage

org.omg.CORBA.portable

org.omg.CORBA.TypeCodePackage

org.omg.CosNaming

org.omg.CosNaming.NamingContextExtPackage

org.omg.CosNaming.NamingContextPackage

org.omg.Dynamic

org.omg.DynamicAny

org.omg.DynamicAny.DynAnyFactoryPackage

org.omg.DynamicAny.DynAnyPackage

org.omg.IOP

org.omg.IOP.CodecFactoryPackage

org.omg.IOP.CodecPackage

org.omg.Messaging

org.omg.PortableInterceptor

org.omg.PortableInterceptor.ORBInitInfoPackage

org.omg.PortableServer

org.omg.PortableServer.CurrentPackage

org.omg.PortableServer.POAManagerPackage

org.omg.PortableServer.POAPackage

org.omg.PortableServer.portable

org.omg.PortableServer.ServantLocatorPackage

org.omg.SendingContext

org.omg.stub.java.rmi

org.w3c.dom

org.w3c.dom.bootstrap

org.w3c.dom.events

org.w3c.dom.ls

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

allclasses-frame

allclasses-noframe

constant-values

deprecated-list

help-doc

JavaTM 2 Platform
Standard Ed. 5.0

javax.crypto
类 CipherOutputStream

java.lang.Object
  继承者 java.io.OutputStream
      继承者 java.io.FilterOutputStream
          继承者 javax.crypto.CipherOutputStream
所有已实现的接口:
Closeable, Flushable

public class CipherOutputStream
extends FilterOutputStream

CipherOutputStream 由一个 OutputStream 和一个 Cipher 组成,这样 write() 方法才能在将数据写出到基础 OutputStream 之前先对该数据进行处理。在由 CipherOutputStream 使用之前,密码必须充分初始化。

例如,假设密码初始化为加密,CipherOutputStream 将在写出该加密数据之前,尝试加密数据。

此类严格遵守此语义,尤其是其祖先类 java.io.OutputStream 和 java.io.FilterOutputStream 的失败语义。此类具有在其祖先类中指定的所有方法,并且对所有的这些方法进行了重写。除此之外,此类还对其祖先类未抛出的所有异常进行捕获。

对程序员非常重要的一点是,不要使用未在此类中定义或重写的方法(例如,后来加入到某个超类的新方法或构造方法),因为那些方法的设计和实现有可能未考虑到对 CipherOutputStream 的安全影响。

从以下版本开始:
1.4
另请参见:
OutputStream, FilterOutputStream, Cipher, CipherInputStream

字段摘要
 
从类 java.io.FilterOutputStream 继承的字段
out
 
构造方法摘要
protected CipherOutputStream(OutputStream os)
          从 OutputStream 构造 CipherOutputStream,不指定 Cipher。
  CipherOutputStream(OutputStream os, Cipher c)
          从 OutputStream 和 Cipher 构造 CipherOutputStream。
 
方法摘要
 void close()
          关闭此输出流并释放任何与此流关联的系统资源。
 void flush()
          强制写出已由封装的密码对象处理的任何缓存输出字节来刷新此输出流。
 void write(byte[] b)
          从指定的字节数组中将 b.length 个字节写入此输出流。
 void write(byte[] b, int off, int len)
          将指定的字节数组中从 off 偏移量开始的 len 个字节写入此输出流。
 void write(int b)
          将指定的字节写入此输出流。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

CipherOutputStream

public CipherOutputStream(OutputStream os,
                          Cipher c)
从 OutputStream 和 Cipher 构造 CipherOutputStream。
注:如果指定的输出流或密码为 null,则在后续使用输出流或密码时可能抛出 NullPointerException 异常。

参数:
os - OutputStream 对象
c - 已初始化的 Cipher 对象

CipherOutputStream

protected CipherOutputStream(OutputStream os)
从 OutputStream 构造 CipherOutputStream,不指定 Cipher。这与使用 NullCipher 构造 CipherOutputStream 具有相同的效果。
注:如果指定的输出流为 null,则在后续使用输出流时可能抛出 NullPointerException 异常。

参数:
os - OutputStream 对象
方法详细信息

write

public void write(int b)
           throws IOException
将指定的字节写入此输出流。

覆盖:
FilterOutputStream 中的 write
参数:
b - byte
抛出:
IOException - 如果发生 I/O 错误。
从以下版本开始:
JCE1.2

write

public void write(byte[] b)
           throws IOException
从指定的字节数组中将 b.length 个字节写入此输出流。

CipherOutputStreamwrite 方法调用带三个参数的 write 方法,三个参数为 b0b.length

覆盖:
FilterOutputStream 中的 write
参数:
b - 数据。
抛出:
NullPointerException - 如果 b 为 null。
IOException - 如果发生 I/O 错误。
从以下版本开始:
JCE1.2
另请参见:
write(byte[], int, int)

write

public void write(byte[] b,
                  int off,
                  int len)
           throws IOException
将指定的字节数组中从 off 偏移量开始的 len 个字节写入此输出流。

覆盖:
FilterOutputStream 中的 write
参数:
b - 数据。
off - 数据中的初始偏移量。
len - 要写入的字节数。
抛出:
IOException - 如果发生 I/O 错误。
从以下版本开始:
JCE1.2
另请参见:
FilterOutputStream.write(int)

flush

public void flush()
           throws IOException
强制写出已由封装的密码对象处理的任何缓存输出字节来刷新此输出流。

由封装的密码缓存并等待由其处理的任何字节将不被写出。例如,假设封装的密码为块密码,并且使用某个 write 方法写入的总字节数小于密码的块大小,将不写出任何字节。

指定者:
接口 Flushable 中的 flush
覆盖:
FilterOutputStream 中的 flush
抛出:
IOException - 如果发生 I/O 错误。
从以下版本开始:
JCE1.2
另请参见:
FilterOutputStream.out

close

public void close()
           throws IOException
关闭此输出流并释放任何与此流关联的系统资源。

此方法调用封装密码对象的 doFinal 方法,它使得由该封装密码缓存的任何字节都被处理。通过调用此输出流的 flush 方法写出结果。

此方法将封装密码对象重置为其初始状态并调用基础输出流的 close 方法。

指定者:
接口 Closeable 中的 close
覆盖:
FilterOutputStream 中的 close
抛出:
IOException - 如果发生 I/O 错误。
从以下版本开始:
JCE1.2
另请参见:
FilterOutputStream.flush(), FilterOutputStream.out

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策