📄 javaio.doc7.html
字号:
<html>
<head>
<title>The Java Language Specification The Package java.io </title>
</head>
<body BGCOLOR=#eeeeff text=#000000 LINK=#0000ff VLINK=#000077 ALINK=#ff0000>
<a href="index.html">Contents</a> | <a href="javaio.doc6.html">Prev</a> | <a href="javaio.doc8.html">Next</a> | <a href="j.index.doc1.html">Index</a>
<hr><br>
<a name="28534"></a>
<center><h1>22.9 The Class <code>java.io.FilterInputStream</code></h1></center>
<a name="28535"></a>
A <code>FilterInputStream</code> contains some other input stream, which it uses as its
basic source of data, possibly transforming the data along the way or providing
additional functionality. The class <code>FilterInputStream</code> itself simply overrides all
methods of <code>InputStream</code> with versions that pass all requests to the contained
input stream. Subclasses of <code>FilterInputStream</code> may further override some of
these methods and may also provide additional methods and fields.
<p><pre><a name="28536"></a>public class <code><b>FilterInputStream</b></code> extends InputStream {
<a name="28537"></a> protected InputStream <code><b>in</b></code>;
<a name="28538"></a> protected <code><b>FilterInputStream</b></code>(InputStream in);
<a name="28539"></a> public int <code><b>read</b></code>() throws IOException;
<a name="28540"></a> public int <code><b>read</b></code>(byte[] b)
<a name="32330"></a> throws IOException, NullPointerException;
<a name="28541"></a> public int <code><b>read</b></code>(byte[] b, int off, int len)
<a name="28542"></a> throws IOException, NullPointerException,
<a name="32333"></a> IndexOutOfBoundsException;
<a name="28543"></a> public long <code><b>skip</b></code>(long n) throws IOException;
<a name="28544"></a> public int <code><b>available</b></code>() throws IOException;
<a name="28545"></a> public void <code><b>close</b></code>() throws IOException;
<a name="28546"></a> public void <code><b>mark</b></code>(int readlimit);
<a name="28547"></a> public void <code><b>reset</b></code>() throws IOException;
<a name="28548"></a> public boolean <code><b>markSupported</b></code>();
<a name="28549"></a>}
</pre><a name="28550"></a>
<p><font size=+1><strong>22.9.1 </strong> <code>protected InputStream <code><b>in</b></code>;</code></font>
<p>
<a name="28551"></a>
The input stream to be filtered.
<p><a name="28553"></a>
<p><font size=+1><strong>22.9.2 </strong> <code>protected <code><b>FilterInputStream</b></code>(InputStream in)</code></font>
<p>
<a name="28554"></a>
This constructor initializes a newly created <code>FilterInputStream</code> by assigning the
argument <code>in</code> to the field <code>this.in</code> so as to remember it for later use.
<p><a name="28556"></a>
<p><font size=+1><strong>22.9.3 </strong> <code>public int <code><b>read</b></code>() throws IOException</code></font>
<p>
<a name="28557"></a>
This method simply performs <code>in.read()</code> and returns the result.
<p><a name="28561"></a>
Implements the <code>read</code> method of <code>InputStream</code> <a href="javaio.doc1.html#28142">(§22.3.1)</a>.<p>
<a name="28563"></a>
<p><font size=+1><strong>22.9.4 </strong> <code>public int <code><b>read</b></code>(byte[] b)<br>throws IOException, NullPointerException</code></font>
<p>
<a name="28564"></a>
This method simply performs the call <code>read(b, 0, b.length)</code> and returns the
result. It is important that it does <i>not</i> do <code>in.read(b)</code> instead; certain subclasses of
<code>FilterInputStream</code> depend on the implementation strategy actually used.
<p><a name="28568"></a>
Overrides the <code>read</code> method of <code>InputStream</code> <a href="javaio.doc1.html#28150">(§22.3.2)</a>.<p>
<a name="28570"></a>
<p><font size=+1><strong>22.9.5 </strong> <code>public int <code><b>read</b></code>(byte[] b, int off, int len)<br>throws IOException, NullPointerException,      IndexOutOfBoundsException</code></font>
<p>
<a name="28571"></a>
This method simply performs <code>in.read(b, off, len)</code> and returns the result.
<p><a name="28575"></a>
Overrides the <code>read</code> method of <code>InputStream</code> <a href="javaio.doc1.html#28164">(§22.3.3)</a>.<p>
<a name="28577"></a>
<p><font size=+1><strong>22.9.6 </strong> <code>public long <code><b>skip</b></code>(long n) throws IOException</code></font>
<p>
<a name="28578"></a>
This method simply performs <code>in.skip()</code> and returns the result.
<p><a name="28582"></a>
Overrides the <code>skip</code> method of <code>InputStream</code> <a href="javaio.doc1.html#28178">(§22.3.4)</a>.<p>
<a name="28584"></a>
<p><font size=+1><strong>22.9.7 </strong> <code>public int <code><b>available</b></code>() throws IOException</code></font>
<p>
<a name="28585"></a>
This method simply performs <code>in.available()</code> and returns the result.
<p><a name="28589"></a>
Overrides the <code>available</code> method of <code>InputStream</code> <a href="javaio.doc1.html#28182">(§22.3.5)</a>.<p>
<a name="28591"></a>
<p><font size=+1><strong>22.9.8 </strong> <code>public void <code><b>close</b></code>() throws IOException</code></font>
<p>
<a name="28592"></a>
This method simply performs <code>in.close()</code>.
<p><a name="28596"></a>
Overrides the <code>close</code> method of <code>InputStream</code> <a href="javaio.doc1.html#28187">(§22.3.6)</a>.<p>
<a name="28598"></a>
<p><font size=+1><strong>22.9.9 </strong> <code>public void <code><b>mark</b></code>(int readlimit)</code></font>
<p>
<a name="28599"></a>
This method simply performs <code>in.mark()</code>.
<p><a name="28603"></a>
Overrides the <code>mark</code> method of <code>InputStream</code> <a href="javaio.doc1.html#28192">(§22.3.7)</a>.<p>
<a name="33506"></a>
<p>
<a name="28605"></a>
<p><font size=+1><strong>22.9.10 </strong> <code>public void <code><b>reset</b></code>() throws IOException</code></font>
<p>
<a name="28606"></a>
This method simply performs <code>in.reset()</code>.
<p><a name="28610"></a>
Overrides the <code>reset</code> method of <code>InputStream</code> <a href="javaio.doc1.html#28197">(§22.3.8)</a>.<p>
<a name="28611"></a>
<p><font size=+1><strong>22.9.11 </strong> <code>public boolean <code><b>markSupported</b></code>()</code></font>
<p>
<a name="28612"></a>
This method simply performs <code>in.markSupported()</code> and returns whatever value
is returned from that invocation.
<p><a name="28616"></a>
Overrides the <code>markSupported</code> method of <code>InputStream</code> <a href="javaio.doc1.html#28208">(§22.3.9)</a>.<p>
<hr>
<!-- This inserts footnotes--><p>
<a href="index.html">Contents</a> | <a href="javaio.doc6.html">Prev</a> | <a href="javaio.doc8.html">Next</a> | <a href="j.index.doc1.html">Index</a>
<p>
<font size=-1>Java Language Specification (HTML generated by Suzette Pelouch on February 24, 1998)<br>
<i><a href="jcopyright.doc.html">Copyright © 1996 Sun Microsystems, Inc.</a>
All rights reserved</i>
<br>
Please send any comments or corrections to <a href="mailto:doug.kramer@sun.com">doug.kramer@sun.com</a>
</font>
</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -