mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-07-05 08:12:43 +08:00
445 lines
18 KiB
HTML
445 lines
18 KiB
HTML
<div class="header">
|
||
<div class="subTitle">
|
||
javax.crypto
|
||
</div>
|
||
<h2 class="title" title="Class CipherOutputStream">Class CipherOutputStream</h2>
|
||
</div><div class="contentContainer">
|
||
<ul class="inheritance">
|
||
<li><a href="../../java/lang/Object.html" title="class in java.lang">java.lang.Object</a></li>
|
||
<li>
|
||
<ul class="inheritance">
|
||
<li><a href="../../java/io/OutputStream.html" title="class in java.io">java.io.OutputStream</a></li>
|
||
<li>
|
||
<ul class="inheritance">
|
||
<li><a href="../../java/io/FilterOutputStream.html" title="class in java.io">java.io.FilterOutputStream</a></li>
|
||
<li>
|
||
<ul class="inheritance">
|
||
<li>javax.crypto.CipherOutputStream</li>
|
||
</ul> </li>
|
||
</ul> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
<div class="description">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<dl>
|
||
<dt>
|
||
All Implemented Interfaces:
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../java/io/Closeable.html" title="java.io中的接口">Closeable</a> , <a href="../../java/io/Flushable.html" title="java.io中的接口">Flushable</a> , <a href="../../java/lang/AutoCloseable.html" title="java.lang中的接口">AutoCloseable</a></span>
|
||
</dd>
|
||
</dl>
|
||
<hr/> <br/> <pre>public class <span class="typeNameLabel">CipherOutputStream</span>
|
||
extends <a href="../../java/io/FilterOutputStream.html" title="class in java.io">FilterOutputStream</a></pre>
|
||
<div class="block">
|
||
<span>CipherOutputStream由OutputStream和Cipher组成,以便write()方法首先处理数据,然后再将它们写入底层的OutputStream。</span>
|
||
<span>密码必须在被CipherOutputStream使用之前被完全初始化。</span>
|
||
<p> <span>例如,如果将密码初始化为加密,CipherOutputStream会在写出加密数据之前尝试加密数据。</span> </p>
|
||
<p> <span>该类严格遵守其祖先类java.io.OutputStream和java.io.FilterOutputStream的语义,特别是失败语义。</span> <span>这个类只有在其祖先类中指定的方法,并覆盖它们全部。</span> <span>此外,此类捕获其祖先类不抛出的所有异常。</span> </p>
|
||
<p> <span>对于使用此类的程序员,不要使用在此类中未定义或覆盖的方法(例如后来添加到其中一个超类的新方法或构造函数),因为这些方法的设计和实现不太可能考虑到对CipherOutputStream的安全影响。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="simpleTagLabel">从以下版本开始:</span>
|
||
</dt>
|
||
<dd>
|
||
1.4
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<span><a href="../../java/io/OutputStream.html" title="java.io中的类"><code>OutputStream</code></a> , <a href="../../java/io/FilterOutputStream.html" title="java.io中的类"><code>FilterOutputStream</code></a> , <a href="../../javax/crypto/Cipher.html" title="javax.crypto中的类"><code>Cipher</code></a> , <a href="../../javax/crypto/CipherInputStream.html" title="javax.crypto中的类"><code>CipherInputStream</code></a></span>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul>
|
||
</div>
|
||
<div class="summary">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<!-- =========== FIELD SUMMARY =========== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="field.summary">
|
||
<!-- --> </a> <h3>Field Summary</h3>
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="fields.inherited.from.class.java.io.FilterOutputStream">
|
||
<!-- --> </a> <h3>Fields inherited from class java.io.<a href="../../java/io/FilterOutputStream.html" title="class in java.io">FilterOutputStream</a></h3> <code><a href="../../java/io/FilterOutputStream.html#out">out</a></code></li>
|
||
</ul> </li>
|
||
</ul>
|
||
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="constructor.summary">
|
||
<!-- --> </a> <h3>构造方法摘要</h3>
|
||
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Constructor Summary table, listing constructors, and an explanation">
|
||
<caption>
|
||
<span>构造方法</span>
|
||
<span class="tabEnd"> </span>
|
||
</caption>
|
||
<tbody>
|
||
<tr>
|
||
<th class="colFirst" scope="col">Modifier</th>
|
||
<th class="colLast" scope="col">Constructor and Description</th>
|
||
</tr>
|
||
<tr class="altColor">
|
||
<td class="colFirst"><code>protected </code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/crypto/CipherOutputStream.html#CipherOutputStream-java.io.OutputStream-">CipherOutputStream</a></span>(<a href="../../java/io/OutputStream.html" title="class in java.io">OutputStream</a> os)</code>
|
||
<div class="block">
|
||
在不指定密码的情况下,从OutputStream构造CipherOutputStream。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor">
|
||
<td class="colFirst"><code> </code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/crypto/CipherOutputStream.html#CipherOutputStream-java.io.OutputStream-javax.crypto.Cipher-">CipherOutputStream</a></span>(<a href="../../java/io/OutputStream.html" title="class in java.io">OutputStream</a> os, <a href="../../javax/crypto/Cipher.html" title="class in javax.crypto">Cipher</a> c)</code>
|
||
<div class="block">
|
||
从OutputStream和Cipher构造一个CipherOutputStream。
|
||
</div> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table> </li>
|
||
</ul>
|
||
<!-- ========== METHOD SUMMARY =========== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="method.summary">
|
||
<!-- --> </a> <h3>方法摘要</h3>
|
||
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
|
||
<caption>
|
||
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
|
||
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
|
||
<span class="tableTab" id="t4"><span><a href="javascript:show(8);">具体的方法</a></span><span class="tabEnd"> </span></span>
|
||
</caption>
|
||
<tbody>
|
||
<tr>
|
||
<th class="colFirst" scope="col">Modifier and Type</th>
|
||
<th class="colLast" scope="col">Method and Description</th>
|
||
</tr>
|
||
<tr class="altColor" id="i0">
|
||
<td class="colFirst"><code>void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/crypto/CipherOutputStream.html#close--">close</a></span>()</code>
|
||
<div class="block">
|
||
关闭此输出流并释放与此流相关联的任何系统资源。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i1">
|
||
<td class="colFirst"><code>void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/crypto/CipherOutputStream.html#flush--">flush</a></span>()</code>
|
||
<div class="block">
|
||
通过强制已经由封装的密码对象处理的任何缓冲的输出字节被写出来刷新输出流。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i2">
|
||
<td class="colFirst"><code>void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/crypto/CipherOutputStream.html#write-byte:A-">write</a></span>(byte[] b)</code>
|
||
<div class="block">
|
||
将
|
||
<code>b.length</code>字节从指定的字节数组写入此输出流。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i3">
|
||
<td class="colFirst"><code>void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/crypto/CipherOutputStream.html#write-byte:A-int-int-">write</a></span>(byte[] b, int off, int len)</code>
|
||
<div class="block">
|
||
从指定的字节数组写入
|
||
<code>len</code>个字节,从偏移
|
||
<code>off</code>开始输出到此输出流。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i4">
|
||
<td class="colFirst"><code>void</code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/crypto/CipherOutputStream.html#write-int-">write</a></span>(int b)</code>
|
||
<div class="block">
|
||
将指定的字节写入此输出流。
|
||
</div> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
|
||
<!-- --> </a> <h3>Methods inherited from class java.lang.<a href="../../java/lang/Object.html" title="class in java.lang">Object</a></h3> <code><a href="../../java/lang/Object.html#clone--">clone</a>, <a href="../../java/lang/Object.html#equals-java.lang.Object-">equals</a>, <a href="../../java/lang/Object.html#finalize--">finalize</a>, <a href="../../java/lang/Object.html#getClass--">getClass</a>, <a href="../../java/lang/Object.html#hashCode--">hashCode</a>, <a href="../../java/lang/Object.html#notify--">notify</a>, <a href="../../java/lang/Object.html#notifyAll--">notifyAll</a>, <a href="../../java/lang/Object.html#toString--">toString</a>, <a href="../../java/lang/Object.html#wait--">wait</a>, <a href="../../java/lang/Object.html#wait-long-">wait</a>, <a href="../../java/lang/Object.html#wait-long-int-">wait</a></code></li>
|
||
</ul> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
</div>
|
||
<div class="details">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="constructor.detail">
|
||
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="CipherOutputStream-java.io.OutputStream-javax.crypto.Cipher-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>CipherOutputStream</h4> <pre>public CipherOutputStream(<a href="../../java/io/OutputStream.html" title="class in java.io">OutputStream</a> os,
|
||
<a href="../../javax/crypto/Cipher.html" title="class in javax.crypto">Cipher</a> c)</pre>
|
||
<div class="block">
|
||
<span>从OutputStream和Cipher构造一个CipherOutputStream。</span>
|
||
<br/>
|
||
<span>注意:如果指定的输出流或密码为空,则NullPointerException在使用时可能会被稍后抛出。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>os</code> - OutputStream对象
|
||
</dd>
|
||
<dd>
|
||
<code>c</code> - 一个初始化的Cipher对象
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="CipherOutputStream-java.io.OutputStream-">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>CipherOutputStream</h4> <pre>protected CipherOutputStream(<a href="../../java/io/OutputStream.html" title="class in java.io">OutputStream</a> os)</pre>
|
||
<div class="block">
|
||
<span>在不指定密码的情况下,从OutputStream构造CipherOutputStream。</span>
|
||
<span>这具有使用NullCipher构造CipherOutputStream的效果。</span>
|
||
<br/>
|
||
<span>注意:如果指定的输出流为空,则使用NullPointerException可能会稍后抛出。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>os</code> - OutputStream对象
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
<!-- ============ METHOD DETAIL ========== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="method.detail">
|
||
<!-- --> </a> <h3>方法详细信息</h3> <a name="write-int-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>write</h4> <pre>public void write(int b)
|
||
throws <a href="../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
|
||
<div class="block">
|
||
将指定的字节写入此输出流。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="overrideSpecifyLabel">重写:</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../java/io/FilterOutputStream.html#write-int-">write</a></code>在
|
||
<code><a href="../../java/io/FilterOutputStream.html" title="class in java.io">FilterOutputStream</a></code>
|
||
</dd>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>b</code> -
|
||
<code>byte</code> 。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
|
||
</dd>
|
||
<dt>
|
||
<span class="simpleTagLabel">从以下版本开始:</span>
|
||
</dt>
|
||
<dd>
|
||
JCE1.2
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="write-byte:A-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>write</h4> <pre>public void write(byte[] b)
|
||
throws <a href="../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
|
||
<div class="block">
|
||
<span>将<code>b.length</code>字节从指定的字节数组写入此输出流。</span>
|
||
<p> <span>该<code>write</code>的方法<code>CipherOutputStream</code>调用<code>write</code>的三个参数与三个参数的方法<code>b</code> , <code>0</code>和<code>b.length</code> 。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="overrideSpecifyLabel">重写:</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../java/io/FilterOutputStream.html#write-byte:A-">write</a></code>在
|
||
<code><a href="../../java/io/FilterOutputStream.html" title="class in java.io">FilterOutputStream</a></code>
|
||
</dd>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>b</code> - 数据。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
|
||
<code>b</code>为空。
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
|
||
</dd>
|
||
<dt>
|
||
<span class="simpleTagLabel">从以下版本开始:</span>
|
||
</dt>
|
||
<dd>
|
||
JCE1.2
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../javax/crypto/CipherOutputStream.html#write-byte:A-int-int-"><code>write(byte[], int, int)</code></a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="write-byte:A-int-int-">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>write</h4> <pre>public void write(byte[] b,
|
||
int off,
|
||
int len)
|
||
throws <a href="../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
|
||
<div class="block">
|
||
从指定的字节数组写入
|
||
<code>len</code>个字节,从偏移
|
||
<code>off</code>开始输出到此输出流。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="overrideSpecifyLabel">重写:</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../java/io/FilterOutputStream.html#write-byte:A-int-int-">write</a></code>在
|
||
<code><a href="../../java/io/FilterOutputStream.html" title="class in java.io">FilterOutputStream</a></code>
|
||
</dd>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>b</code> - 数据。
|
||
</dd>
|
||
<dd>
|
||
<code>off</code> - 数据中的起始偏移量。
|
||
</dd>
|
||
<dd>
|
||
<code>len</code> - 要写入的字节数。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
|
||
</dd>
|
||
<dt>
|
||
<span class="simpleTagLabel">从以下版本开始:</span>
|
||
</dt>
|
||
<dd>
|
||
JCE1.2
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../java/io/FilterOutputStream.html#write-int-"><code>FilterOutputStream.write(int)</code></a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="flush--">
|
||
<!-- --> </a>
|
||
<ul class="blockList">
|
||
<li class="blockList"> <h4>flush</h4> <pre>public void flush()
|
||
throws <a href="../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
|
||
<div class="block">
|
||
<span>通过强制已经由封装的密码对象处理的任何缓冲的输出字节被写出来刷新输出流。</span>
|
||
<p> <span>由封装密码缓冲并等待被其处理的任何字节将不会被写出。</span> <span>例如,如果封装的密码是块密码,并且使用<code>write</code>方法之一写入的总字节数小于密码的块大小,则不会写出任何字节。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="overrideSpecifyLabel">Specified by:</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../java/io/Flushable.html#flush--">flush</a></code>在接口
|
||
<code><a href="../../java/io/Flushable.html" title="interface in java.io">Flushable</a></code>
|
||
</dd>
|
||
<dt>
|
||
<span class="overrideSpecifyLabel">重写:</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../java/io/FilterOutputStream.html#flush--">flush</a></code>在类别
|
||
<code><a href="../../java/io/FilterOutputStream.html" title="class in java.io">FilterOutputStream</a></code>
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
|
||
</dd>
|
||
<dt>
|
||
<span class="simpleTagLabel">从以下版本开始:</span>
|
||
</dt>
|
||
<dd>
|
||
JCE1.2
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../java/io/FilterOutputStream.html#out"><code>FilterOutputStream.out</code></a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="close--">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>close</h4> <pre>public void close()
|
||
throws <a href="../../java/io/IOException.html" title="class in java.io">IOException</a></pre>
|
||
<div class="block">
|
||
<span>关闭此输出流并释放与此流相关联的任何系统资源。</span>
|
||
<p> <span>此方法调用封装密码对象的<code>doFinal</code>方法,这将导致处理由封装密码缓冲的任何字节。</span> <span>结果是通过调用此输出流的<code>flush</code>方法来写出来的。</span> </p>
|
||
<p> <span>该方法将封装的密码对象重置为初始状态,并调用底层输出流的<code>close</code>方法。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="overrideSpecifyLabel">Specified by:</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../java/io/Closeable.html#close--">close</a></code>在接口
|
||
<code><a href="../../java/io/Closeable.html" title="interface in java.io">Closeable</a></code>
|
||
</dd>
|
||
<dt>
|
||
<span class="overrideSpecifyLabel">Specified by:</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../java/lang/AutoCloseable.html#close--">close</a></code>在界面
|
||
<code><a href="../../java/lang/AutoCloseable.html" title="interface in java.lang">AutoCloseable</a></code>
|
||
</dd>
|
||
<dt>
|
||
<span class="overrideSpecifyLabel">重写:</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../java/io/FilterOutputStream.html#close--">close</a></code>在
|
||
<code><a href="../../java/io/FilterOutputStream.html" title="class in java.io">FilterOutputStream</a></code>
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../java/io/IOException.html" title="class in java.io">IOException</a></code> - 如果发生I / O错误。
|
||
</dd>
|
||
<dt>
|
||
<span class="simpleTagLabel">从以下版本开始:</span>
|
||
</dt>
|
||
<dd>
|
||
JCE1.2
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="../../java/io/FilterOutputStream.html#flush--"><code>FilterOutputStream.flush()</code></a>,
|
||
<a href="../../java/io/FilterOutputStream.html#out"><code>FilterOutputStream.out</code></a>
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
</div>
|
||
</div> |