BOMInputStream.html 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <!-- NewPage -->
  3. <html lang="de">
  4. <head>
  5. <!-- Generated by javadoc -->
  6. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  7. <title>BOMInputStream (Apache Commons IO 2.6 API)</title>
  8. <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
  9. <script type="text/javascript" src="../../../../../script.js"></script>
  10. </head>
  11. <body>
  12. <script type="text/javascript"><!--
  13. try {
  14. if (location.href.indexOf('is-external=true') == -1) {
  15. parent.document.title="BOMInputStream (Apache Commons IO 2.6 API)";
  16. }
  17. }
  18. catch(err) {
  19. }
  20. //-->
  21. var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
  22. var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
  23. var altColor = "altColor";
  24. var rowColor = "rowColor";
  25. var tableTab = "tableTab";
  26. var activeTableTab = "activeTableTab";
  27. </script>
  28. <noscript>
  29. <div>JavaScript is disabled on your browser.</div>
  30. </noscript>
  31. <!-- ========= START OF TOP NAVBAR ======= -->
  32. <div class="topNav"><a name="navbar.top">
  33. <!-- -->
  34. </a>
  35. <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
  36. <a name="navbar.top.firstrow">
  37. <!-- -->
  38. </a>
  39. <ul class="navList" title="Navigation">
  40. <li><a href="../../../../../overview-summary.html">Overview</a></li>
  41. <li><a href="package-summary.html">Package</a></li>
  42. <li class="navBarCell1Rev">Class</li>
  43. <li><a href="class-use/BOMInputStream.html">Use</a></li>
  44. <li><a href="package-tree.html">Tree</a></li>
  45. <li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
  46. <li><a href="../../../../../index-all.html">Index</a></li>
  47. <li><a href="../../../../../help-doc.html">Help</a></li>
  48. </ul>
  49. </div>
  50. <div class="subNav">
  51. <ul class="navList">
  52. <li><a href="../../../../../org/apache/commons/io/input/AutoCloseInputStream.html" title="class in org.apache.commons.io.input"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
  53. <li><a href="../../../../../org/apache/commons/io/input/BoundedInputStream.html" title="class in org.apache.commons.io.input"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
  54. </ul>
  55. <ul class="navList">
  56. <li><a href="../../../../../index.html?org/apache/commons/io/input/BOMInputStream.html" target="_top">Frames</a></li>
  57. <li><a href="BOMInputStream.html" target="_top">No&nbsp;Frames</a></li>
  58. </ul>
  59. <ul class="navList" id="allclasses_navbar_top">
  60. <li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
  61. </ul>
  62. <div>
  63. <script type="text/javascript"><!--
  64. allClassesLink = document.getElementById("allclasses_navbar_top");
  65. if(window==top) {
  66. allClassesLink.style.display = "block";
  67. }
  68. else {
  69. allClassesLink.style.display = "none";
  70. }
  71. //-->
  72. </script>
  73. </div>
  74. <div>
  75. <ul class="subNavList">
  76. <li>Summary:&nbsp;</li>
  77. <li>Nested&nbsp;|&nbsp;</li>
  78. <li><a href="#fields.inherited.from.class.java.io.FilterInputStream">Field</a>&nbsp;|&nbsp;</li>
  79. <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
  80. <li><a href="#method.summary">Method</a></li>
  81. </ul>
  82. <ul class="subNavList">
  83. <li>Detail:&nbsp;</li>
  84. <li>Field&nbsp;|&nbsp;</li>
  85. <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
  86. <li><a href="#method.detail">Method</a></li>
  87. </ul>
  88. </div>
  89. <a name="skip.navbar.top">
  90. <!-- -->
  91. </a></div>
  92. <!-- ========= END OF TOP NAVBAR ========= -->
  93. <!-- ======== START OF CLASS DATA ======== -->
  94. <div class="header">
  95. <div class="subTitle">org.apache.commons.io.input</div>
  96. <h2 title="Class BOMInputStream" class="title">Class BOMInputStream</h2>
  97. </div>
  98. <div class="contentContainer">
  99. <ul class="inheritance">
  100. <li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
  101. <li>
  102. <ul class="inheritance">
  103. <li><a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">java.io.InputStream</a></li>
  104. <li>
  105. <ul class="inheritance">
  106. <li><a href="http://docs.oracle.com/javase/7/docs/api/java/io/FilterInputStream.html?is-external=true" title="class or interface in java.io">java.io.FilterInputStream</a></li>
  107. <li>
  108. <ul class="inheritance">
  109. <li><a href="../../../../../org/apache/commons/io/input/ProxyInputStream.html" title="class in org.apache.commons.io.input">org.apache.commons.io.input.ProxyInputStream</a></li>
  110. <li>
  111. <ul class="inheritance">
  112. <li>org.apache.commons.io.input.BOMInputStream</li>
  113. </ul>
  114. </li>
  115. </ul>
  116. </li>
  117. </ul>
  118. </li>
  119. </ul>
  120. </li>
  121. </ul>
  122. <div class="description">
  123. <ul class="blockList">
  124. <li class="blockList">
  125. <dl>
  126. <dt>All Implemented Interfaces:</dt>
  127. <dd><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></dd>
  128. </dl>
  129. <hr>
  130. <br>
  131. <pre>public class <span class="typeNameLabel">BOMInputStream</span>
  132. extends <a href="../../../../../org/apache/commons/io/input/ProxyInputStream.html" title="class in org.apache.commons.io.input">ProxyInputStream</a></pre>
  133. <div class="block">This class is used to wrap a stream that includes an encoded <a href="../../../../../org/apache/commons/io/ByteOrderMark.html" title="class in org.apache.commons.io"><code>ByteOrderMark</code></a> as its first bytes.
  134. This class detects these bytes and, if required, can automatically skip them and return the subsequent byte as the
  135. first byte in the stream.
  136. The <a href="../../../../../org/apache/commons/io/ByteOrderMark.html" title="class in org.apache.commons.io"><code>ByteOrderMark</code></a> implementation has the following pre-defined BOMs:
  137. <ul>
  138. <li>UTF-8 - <a href="../../../../../org/apache/commons/io/ByteOrderMark.html#UTF_8"><code>ByteOrderMark.UTF_8</code></a></li>
  139. <li>UTF-16BE - <a href="../../../../../org/apache/commons/io/ByteOrderMark.html#UTF_16LE"><code>ByteOrderMark.UTF_16LE</code></a></li>
  140. <li>UTF-16LE - <a href="../../../../../org/apache/commons/io/ByteOrderMark.html#UTF_16BE"><code>ByteOrderMark.UTF_16BE</code></a></li>
  141. <li>UTF-32BE - <a href="../../../../../org/apache/commons/io/ByteOrderMark.html#UTF_32LE"><code>ByteOrderMark.UTF_32LE</code></a></li>
  142. <li>UTF-32LE - <a href="../../../../../org/apache/commons/io/ByteOrderMark.html#UTF_32BE"><code>ByteOrderMark.UTF_32BE</code></a></li>
  143. </ul>
  144. <h3>Example 1 - Detect and exclude a UTF-8 BOM</h3>
  145. <pre>
  146. BOMInputStream bomIn = new BOMInputStream(in);
  147. if (bomIn.hasBOM()) {
  148. // has a UTF-8 BOM
  149. }
  150. </pre>
  151. <h3>Example 2 - Detect a UTF-8 BOM (but don't exclude it)</h3>
  152. <pre>
  153. boolean include = true;
  154. BOMInputStream bomIn = new BOMInputStream(in, include);
  155. if (bomIn.hasBOM()) {
  156. // has a UTF-8 BOM
  157. }
  158. </pre>
  159. <h3>Example 3 - Detect Multiple BOMs</h3>
  160. <pre>
  161. BOMInputStream bomIn = new BOMInputStream(in,
  162. ByteOrderMark.UTF_16LE, ByteOrderMark.UTF_16BE,
  163. ByteOrderMark.UTF_32LE, ByteOrderMark.UTF_32BE
  164. );
  165. if (bomIn.hasBOM() == false) {
  166. // No BOM found
  167. } else if (bomIn.hasBOM(ByteOrderMark.UTF_16LE)) {
  168. // has a UTF-16LE BOM
  169. } else if (bomIn.hasBOM(ByteOrderMark.UTF_16BE)) {
  170. // has a UTF-16BE BOM
  171. } else if (bomIn.hasBOM(ByteOrderMark.UTF_32LE)) {
  172. // has a UTF-32LE BOM
  173. } else if (bomIn.hasBOM(ByteOrderMark.UTF_32BE)) {
  174. // has a UTF-32BE BOM
  175. }
  176. </pre></div>
  177. <dl>
  178. <dt><span class="simpleTagLabel">Since:</span></dt>
  179. <dd>2.0</dd>
  180. <dt><span class="simpleTagLabel">Version:</span></dt>
  181. <dd>$Id$</dd>
  182. <dt><span class="seeLabel">See Also:</span></dt>
  183. <dd><a href="../../../../../org/apache/commons/io/ByteOrderMark.html" title="class in org.apache.commons.io"><code>ByteOrderMark</code></a>,
  184. <a href="http://en.wikipedia.org/wiki/Byte_order_mark">Wikipedia - Byte Order Mark</a></dd>
  185. </dl>
  186. </li>
  187. </ul>
  188. </div>
  189. <div class="summary">
  190. <ul class="blockList">
  191. <li class="blockList">
  192. <!-- =========== FIELD SUMMARY =========== -->
  193. <ul class="blockList">
  194. <li class="blockList"><a name="field.summary">
  195. <!-- -->
  196. </a>
  197. <h3>Field Summary</h3>
  198. <ul class="blockList">
  199. <li class="blockList"><a name="fields.inherited.from.class.java.io.FilterInputStream">
  200. <!-- -->
  201. </a>
  202. <h3>Fields inherited from class&nbsp;java.io.<a href="http://docs.oracle.com/javase/7/docs/api/java/io/FilterInputStream.html?is-external=true" title="class or interface in java.io">FilterInputStream</a></h3>
  203. <code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/FilterInputStream.html?is-external=true#in" title="class or interface in java.io">in</a></code></li>
  204. </ul>
  205. </li>
  206. </ul>
  207. <!-- ======== CONSTRUCTOR SUMMARY ======== -->
  208. <ul class="blockList">
  209. <li class="blockList"><a name="constructor.summary">
  210. <!-- -->
  211. </a>
  212. <h3>Constructor Summary</h3>
  213. <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
  214. <caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
  215. <tr>
  216. <th class="colOne" scope="col">Constructor and Description</th>
  217. </tr>
  218. <tr class="altColor">
  219. <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/commons/io/input/BOMInputStream.html#BOMInputStream-java.io.InputStream-">BOMInputStream</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;delegate)</code>
  220. <div class="block">Constructs a new BOM InputStream that excludes a <a href="../../../../../org/apache/commons/io/ByteOrderMark.html#UTF_8"><code>ByteOrderMark.UTF_8</code></a> BOM.</div>
  221. </td>
  222. </tr>
  223. <tr class="rowColor">
  224. <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/commons/io/input/BOMInputStream.html#BOMInputStream-java.io.InputStream-boolean-">BOMInputStream</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;delegate,
  225. boolean&nbsp;include)</code>
  226. <div class="block">Constructs a new BOM InputStream that detects a a <a href="../../../../../org/apache/commons/io/ByteOrderMark.html#UTF_8"><code>ByteOrderMark.UTF_8</code></a> and optionally includes it.</div>
  227. </td>
  228. </tr>
  229. <tr class="altColor">
  230. <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/commons/io/input/BOMInputStream.html#BOMInputStream-java.io.InputStream-boolean-org.apache.commons.io.ByteOrderMark...-">BOMInputStream</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;delegate,
  231. boolean&nbsp;include,
  232. <a href="../../../../../org/apache/commons/io/ByteOrderMark.html" title="class in org.apache.commons.io">ByteOrderMark</a>...&nbsp;boms)</code>
  233. <div class="block">Constructs a new BOM InputStream that detects the specified BOMs and optionally includes them.</div>
  234. </td>
  235. </tr>
  236. <tr class="rowColor">
  237. <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/commons/io/input/BOMInputStream.html#BOMInputStream-java.io.InputStream-org.apache.commons.io.ByteOrderMark...-">BOMInputStream</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;delegate,
  238. <a href="../../../../../org/apache/commons/io/ByteOrderMark.html" title="class in org.apache.commons.io">ByteOrderMark</a>...&nbsp;boms)</code>
  239. <div class="block">Constructs a new BOM InputStream that excludes the specified BOMs.</div>
  240. </td>
  241. </tr>
  242. </table>
  243. </li>
  244. </ul>
  245. <!-- ========== METHOD SUMMARY =========== -->
  246. <ul class="blockList">
  247. <li class="blockList"><a name="method.summary">
  248. <!-- -->
  249. </a>
  250. <h3>Method Summary</h3>
  251. <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
  252. <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
  253. <tr>
  254. <th class="colFirst" scope="col">Modifier and Type</th>
  255. <th class="colLast" scope="col">Method and Description</th>
  256. </tr>
  257. <tr id="i0" class="altColor">
  258. <td class="colFirst"><code><a href="../../../../../org/apache/commons/io/ByteOrderMark.html" title="class in org.apache.commons.io">ByteOrderMark</a></code></td>
  259. <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/commons/io/input/BOMInputStream.html#getBOM--">getBOM</a></span>()</code>
  260. <div class="block">Return the BOM (Byte Order Mark).</div>
  261. </td>
  262. </tr>
  263. <tr id="i1" class="rowColor">
  264. <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
  265. <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/commons/io/input/BOMInputStream.html#getBOMCharsetName--">getBOMCharsetName</a></span>()</code>
  266. <div class="block">Return the BOM charset Name - <a href="../../../../../org/apache/commons/io/ByteOrderMark.html#getCharsetName--"><code>ByteOrderMark.getCharsetName()</code></a>.</div>
  267. </td>
  268. </tr>
  269. <tr id="i2" class="altColor">
  270. <td class="colFirst"><code>boolean</code></td>
  271. <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/commons/io/input/BOMInputStream.html#hasBOM--">hasBOM</a></span>()</code>
  272. <div class="block">Indicates whether the stream contains one of the specified BOMs.</div>
  273. </td>
  274. </tr>
  275. <tr id="i3" class="rowColor">
  276. <td class="colFirst"><code>boolean</code></td>
  277. <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/commons/io/input/BOMInputStream.html#hasBOM-org.apache.commons.io.ByteOrderMark-">hasBOM</a></span>(<a href="../../../../../org/apache/commons/io/ByteOrderMark.html" title="class in org.apache.commons.io">ByteOrderMark</a>&nbsp;bom)</code>
  278. <div class="block">Indicates whether the stream contains the specified BOM.</div>
  279. </td>
  280. </tr>
  281. <tr id="i4" class="altColor">
  282. <td class="colFirst"><code>void</code></td>
  283. <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/commons/io/input/BOMInputStream.html#mark-int-">mark</a></span>(int&nbsp;readlimit)</code>
  284. <div class="block">Invokes the delegate's <code>mark(int)</code> method.</div>
  285. </td>
  286. </tr>
  287. <tr id="i5" class="rowColor">
  288. <td class="colFirst"><code>int</code></td>
  289. <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/commons/io/input/BOMInputStream.html#read--">read</a></span>()</code>
  290. <div class="block">Invokes the delegate's <code>read()</code> method, detecting and optionally skipping BOM.</div>
  291. </td>
  292. </tr>
  293. <tr id="i6" class="altColor">
  294. <td class="colFirst"><code>int</code></td>
  295. <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/commons/io/input/BOMInputStream.html#read-byte:A-">read</a></span>(byte[]&nbsp;buf)</code>
  296. <div class="block">Invokes the delegate's <code>read(byte[])</code> method, detecting and optionally skipping BOM.</div>
  297. </td>
  298. </tr>
  299. <tr id="i7" class="rowColor">
  300. <td class="colFirst"><code>int</code></td>
  301. <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/commons/io/input/BOMInputStream.html#read-byte:A-int-int-">read</a></span>(byte[]&nbsp;buf,
  302. int&nbsp;off,
  303. int&nbsp;len)</code>
  304. <div class="block">Invokes the delegate's <code>read(byte[], int, int)</code> method, detecting and optionally skipping BOM.</div>
  305. </td>
  306. </tr>
  307. <tr id="i8" class="altColor">
  308. <td class="colFirst"><code>void</code></td>
  309. <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/commons/io/input/BOMInputStream.html#reset--">reset</a></span>()</code>
  310. <div class="block">Invokes the delegate's <code>reset()</code> method.</div>
  311. </td>
  312. </tr>
  313. <tr id="i9" class="rowColor">
  314. <td class="colFirst"><code>long</code></td>
  315. <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/commons/io/input/BOMInputStream.html#skip-long-">skip</a></span>(long&nbsp;n)</code>
  316. <div class="block">Invokes the delegate's <code>skip(long)</code> method, detecting and optionally skipping BOM.</div>
  317. </td>
  318. </tr>
  319. </table>
  320. <ul class="blockList">
  321. <li class="blockList"><a name="methods.inherited.from.class.org.apache.commons.io.input.ProxyInputStream">
  322. <!-- -->
  323. </a>
  324. <h3>Methods inherited from class&nbsp;org.apache.commons.io.input.<a href="../../../../../org/apache/commons/io/input/ProxyInputStream.html" title="class in org.apache.commons.io.input">ProxyInputStream</a></h3>
  325. <code><a href="../../../../../org/apache/commons/io/input/ProxyInputStream.html#afterRead-int-">afterRead</a>, <a href="../../../../../org/apache/commons/io/input/ProxyInputStream.html#available--">available</a>, <a href="../../../../../org/apache/commons/io/input/ProxyInputStream.html#beforeRead-int-">beforeRead</a>, <a href="../../../../../org/apache/commons/io/input/ProxyInputStream.html#close--">close</a>, <a href="../../../../../org/apache/commons/io/input/ProxyInputStream.html#handleIOException-java.io.IOException-">handleIOException</a>, <a href="../../../../../org/apache/commons/io/input/ProxyInputStream.html#markSupported--">markSupported</a></code></li>
  326. </ul>
  327. <ul class="blockList">
  328. <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
  329. <!-- -->
  330. </a>
  331. <h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
  332. <code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
  333. </ul>
  334. </li>
  335. </ul>
  336. </li>
  337. </ul>
  338. </div>
  339. <div class="details">
  340. <ul class="blockList">
  341. <li class="blockList">
  342. <!-- ========= CONSTRUCTOR DETAIL ======== -->
  343. <ul class="blockList">
  344. <li class="blockList"><a name="constructor.detail">
  345. <!-- -->
  346. </a>
  347. <h3>Constructor Detail</h3>
  348. <a name="BOMInputStream-java.io.InputStream-">
  349. <!-- -->
  350. </a>
  351. <ul class="blockList">
  352. <li class="blockList">
  353. <h4>BOMInputStream</h4>
  354. <pre>public&nbsp;BOMInputStream(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;delegate)</pre>
  355. <div class="block">Constructs a new BOM InputStream that excludes a <a href="../../../../../org/apache/commons/io/ByteOrderMark.html#UTF_8"><code>ByteOrderMark.UTF_8</code></a> BOM.</div>
  356. <dl>
  357. <dt><span class="paramLabel">Parameters:</span></dt>
  358. <dd><code>delegate</code> - the InputStream to delegate to</dd>
  359. </dl>
  360. </li>
  361. </ul>
  362. <a name="BOMInputStream-java.io.InputStream-boolean-">
  363. <!-- -->
  364. </a>
  365. <ul class="blockList">
  366. <li class="blockList">
  367. <h4>BOMInputStream</h4>
  368. <pre>public&nbsp;BOMInputStream(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;delegate,
  369. boolean&nbsp;include)</pre>
  370. <div class="block">Constructs a new BOM InputStream that detects a a <a href="../../../../../org/apache/commons/io/ByteOrderMark.html#UTF_8"><code>ByteOrderMark.UTF_8</code></a> and optionally includes it.</div>
  371. <dl>
  372. <dt><span class="paramLabel">Parameters:</span></dt>
  373. <dd><code>delegate</code> - the InputStream to delegate to</dd>
  374. <dd><code>include</code> - true to include the UTF-8 BOM or false to exclude it</dd>
  375. </dl>
  376. </li>
  377. </ul>
  378. <a name="BOMInputStream-java.io.InputStream-org.apache.commons.io.ByteOrderMark...-">
  379. <!-- -->
  380. </a>
  381. <ul class="blockList">
  382. <li class="blockList">
  383. <h4>BOMInputStream</h4>
  384. <pre>public&nbsp;BOMInputStream(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;delegate,
  385. <a href="../../../../../org/apache/commons/io/ByteOrderMark.html" title="class in org.apache.commons.io">ByteOrderMark</a>...&nbsp;boms)</pre>
  386. <div class="block">Constructs a new BOM InputStream that excludes the specified BOMs.</div>
  387. <dl>
  388. <dt><span class="paramLabel">Parameters:</span></dt>
  389. <dd><code>delegate</code> - the InputStream to delegate to</dd>
  390. <dd><code>boms</code> - The BOMs to detect and exclude</dd>
  391. </dl>
  392. </li>
  393. </ul>
  394. <a name="BOMInputStream-java.io.InputStream-boolean-org.apache.commons.io.ByteOrderMark...-">
  395. <!-- -->
  396. </a>
  397. <ul class="blockListLast">
  398. <li class="blockList">
  399. <h4>BOMInputStream</h4>
  400. <pre>public&nbsp;BOMInputStream(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;delegate,
  401. boolean&nbsp;include,
  402. <a href="../../../../../org/apache/commons/io/ByteOrderMark.html" title="class in org.apache.commons.io">ByteOrderMark</a>...&nbsp;boms)</pre>
  403. <div class="block">Constructs a new BOM InputStream that detects the specified BOMs and optionally includes them.</div>
  404. <dl>
  405. <dt><span class="paramLabel">Parameters:</span></dt>
  406. <dd><code>delegate</code> - the InputStream to delegate to</dd>
  407. <dd><code>include</code> - true to include the specified BOMs or false to exclude them</dd>
  408. <dd><code>boms</code> - The BOMs to detect and optionally exclude</dd>
  409. </dl>
  410. </li>
  411. </ul>
  412. </li>
  413. </ul>
  414. <!-- ============ METHOD DETAIL ========== -->
  415. <ul class="blockList">
  416. <li class="blockList"><a name="method.detail">
  417. <!-- -->
  418. </a>
  419. <h3>Method Detail</h3>
  420. <a name="hasBOM--">
  421. <!-- -->
  422. </a>
  423. <ul class="blockList">
  424. <li class="blockList">
  425. <h4>hasBOM</h4>
  426. <pre>public&nbsp;boolean&nbsp;hasBOM()
  427. throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
  428. <div class="block">Indicates whether the stream contains one of the specified BOMs.</div>
  429. <dl>
  430. <dt><span class="returnLabel">Returns:</span></dt>
  431. <dd>true if the stream has one of the specified BOMs, otherwise false if it does not</dd>
  432. <dt><span class="throwsLabel">Throws:</span></dt>
  433. <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if an error reading the first bytes of the stream occurs</dd>
  434. </dl>
  435. </li>
  436. </ul>
  437. <a name="hasBOM-org.apache.commons.io.ByteOrderMark-">
  438. <!-- -->
  439. </a>
  440. <ul class="blockList">
  441. <li class="blockList">
  442. <h4>hasBOM</h4>
  443. <pre>public&nbsp;boolean&nbsp;hasBOM(<a href="../../../../../org/apache/commons/io/ByteOrderMark.html" title="class in org.apache.commons.io">ByteOrderMark</a>&nbsp;bom)
  444. throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
  445. <div class="block">Indicates whether the stream contains the specified BOM.</div>
  446. <dl>
  447. <dt><span class="paramLabel">Parameters:</span></dt>
  448. <dd><code>bom</code> - The BOM to check for</dd>
  449. <dt><span class="returnLabel">Returns:</span></dt>
  450. <dd>true if the stream has the specified BOM, otherwise false if it does not</dd>
  451. <dt><span class="throwsLabel">Throws:</span></dt>
  452. <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if the BOM is not one the stream is configured to detect</dd>
  453. <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if an error reading the first bytes of the stream occurs</dd>
  454. </dl>
  455. </li>
  456. </ul>
  457. <a name="getBOM--">
  458. <!-- -->
  459. </a>
  460. <ul class="blockList">
  461. <li class="blockList">
  462. <h4>getBOM</h4>
  463. <pre>public&nbsp;<a href="../../../../../org/apache/commons/io/ByteOrderMark.html" title="class in org.apache.commons.io">ByteOrderMark</a>&nbsp;getBOM()
  464. throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
  465. <div class="block">Return the BOM (Byte Order Mark).</div>
  466. <dl>
  467. <dt><span class="returnLabel">Returns:</span></dt>
  468. <dd>The BOM or null if none</dd>
  469. <dt><span class="throwsLabel">Throws:</span></dt>
  470. <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if an error reading the first bytes of the stream occurs</dd>
  471. </dl>
  472. </li>
  473. </ul>
  474. <a name="getBOMCharsetName--">
  475. <!-- -->
  476. </a>
  477. <ul class="blockList">
  478. <li class="blockList">
  479. <h4>getBOMCharsetName</h4>
  480. <pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getBOMCharsetName()
  481. throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
  482. <div class="block">Return the BOM charset Name - <a href="../../../../../org/apache/commons/io/ByteOrderMark.html#getCharsetName--"><code>ByteOrderMark.getCharsetName()</code></a>.</div>
  483. <dl>
  484. <dt><span class="returnLabel">Returns:</span></dt>
  485. <dd>The BOM charset Name or null if no BOM found</dd>
  486. <dt><span class="throwsLabel">Throws:</span></dt>
  487. <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if an error reading the first bytes of the stream occurs</dd>
  488. </dl>
  489. </li>
  490. </ul>
  491. <a name="read--">
  492. <!-- -->
  493. </a>
  494. <ul class="blockList">
  495. <li class="blockList">
  496. <h4>read</h4>
  497. <pre>public&nbsp;int&nbsp;read()
  498. throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
  499. <div class="block">Invokes the delegate's <code>read()</code> method, detecting and optionally skipping BOM.</div>
  500. <dl>
  501. <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
  502. <dd><code><a href="../../../../../org/apache/commons/io/input/ProxyInputStream.html#read--">read</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/io/input/ProxyInputStream.html" title="class in org.apache.commons.io.input">ProxyInputStream</a></code></dd>
  503. <dt><span class="returnLabel">Returns:</span></dt>
  504. <dd>the byte read (excluding BOM) or -1 if the end of stream</dd>
  505. <dt><span class="throwsLabel">Throws:</span></dt>
  506. <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if an I/O error occurs</dd>
  507. </dl>
  508. </li>
  509. </ul>
  510. <a name="read-byte:A-int-int-">
  511. <!-- -->
  512. </a>
  513. <ul class="blockList">
  514. <li class="blockList">
  515. <h4>read</h4>
  516. <pre>public&nbsp;int&nbsp;read(byte[]&nbsp;buf,
  517. int&nbsp;off,
  518. int&nbsp;len)
  519. throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
  520. <div class="block">Invokes the delegate's <code>read(byte[], int, int)</code> method, detecting and optionally skipping BOM.</div>
  521. <dl>
  522. <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
  523. <dd><code><a href="../../../../../org/apache/commons/io/input/ProxyInputStream.html#read-byte:A-int-int-">read</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/io/input/ProxyInputStream.html" title="class in org.apache.commons.io.input">ProxyInputStream</a></code></dd>
  524. <dt><span class="paramLabel">Parameters:</span></dt>
  525. <dd><code>buf</code> - the buffer to read the bytes into</dd>
  526. <dd><code>off</code> - The start offset</dd>
  527. <dd><code>len</code> - The number of bytes to read (excluding BOM)</dd>
  528. <dt><span class="returnLabel">Returns:</span></dt>
  529. <dd>the number of bytes read or -1 if the end of stream</dd>
  530. <dt><span class="throwsLabel">Throws:</span></dt>
  531. <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if an I/O error occurs</dd>
  532. </dl>
  533. </li>
  534. </ul>
  535. <a name="read-byte:A-">
  536. <!-- -->
  537. </a>
  538. <ul class="blockList">
  539. <li class="blockList">
  540. <h4>read</h4>
  541. <pre>public&nbsp;int&nbsp;read(byte[]&nbsp;buf)
  542. throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
  543. <div class="block">Invokes the delegate's <code>read(byte[])</code> method, detecting and optionally skipping BOM.</div>
  544. <dl>
  545. <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
  546. <dd><code><a href="../../../../../org/apache/commons/io/input/ProxyInputStream.html#read-byte:A-">read</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/io/input/ProxyInputStream.html" title="class in org.apache.commons.io.input">ProxyInputStream</a></code></dd>
  547. <dt><span class="paramLabel">Parameters:</span></dt>
  548. <dd><code>buf</code> - the buffer to read the bytes into</dd>
  549. <dt><span class="returnLabel">Returns:</span></dt>
  550. <dd>the number of bytes read (excluding BOM) or -1 if the end of stream</dd>
  551. <dt><span class="throwsLabel">Throws:</span></dt>
  552. <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if an I/O error occurs</dd>
  553. </dl>
  554. </li>
  555. </ul>
  556. <a name="mark-int-">
  557. <!-- -->
  558. </a>
  559. <ul class="blockList">
  560. <li class="blockList">
  561. <h4>mark</h4>
  562. <pre>public&nbsp;void&nbsp;mark(int&nbsp;readlimit)</pre>
  563. <div class="block">Invokes the delegate's <code>mark(int)</code> method.</div>
  564. <dl>
  565. <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
  566. <dd><code><a href="../../../../../org/apache/commons/io/input/ProxyInputStream.html#mark-int-">mark</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/io/input/ProxyInputStream.html" title="class in org.apache.commons.io.input">ProxyInputStream</a></code></dd>
  567. <dt><span class="paramLabel">Parameters:</span></dt>
  568. <dd><code>readlimit</code> - read ahead limit</dd>
  569. </dl>
  570. </li>
  571. </ul>
  572. <a name="reset--">
  573. <!-- -->
  574. </a>
  575. <ul class="blockList">
  576. <li class="blockList">
  577. <h4>reset</h4>
  578. <pre>public&nbsp;void&nbsp;reset()
  579. throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
  580. <div class="block">Invokes the delegate's <code>reset()</code> method.</div>
  581. <dl>
  582. <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
  583. <dd><code><a href="../../../../../org/apache/commons/io/input/ProxyInputStream.html#reset--">reset</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/io/input/ProxyInputStream.html" title="class in org.apache.commons.io.input">ProxyInputStream</a></code></dd>
  584. <dt><span class="throwsLabel">Throws:</span></dt>
  585. <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if an I/O error occurs</dd>
  586. </dl>
  587. </li>
  588. </ul>
  589. <a name="skip-long-">
  590. <!-- -->
  591. </a>
  592. <ul class="blockListLast">
  593. <li class="blockList">
  594. <h4>skip</h4>
  595. <pre>public&nbsp;long&nbsp;skip(long&nbsp;n)
  596. throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
  597. <div class="block">Invokes the delegate's <code>skip(long)</code> method, detecting and optionally skipping BOM.</div>
  598. <dl>
  599. <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
  600. <dd><code><a href="../../../../../org/apache/commons/io/input/ProxyInputStream.html#skip-long-">skip</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/io/input/ProxyInputStream.html" title="class in org.apache.commons.io.input">ProxyInputStream</a></code></dd>
  601. <dt><span class="paramLabel">Parameters:</span></dt>
  602. <dd><code>n</code> - the number of bytes to skip</dd>
  603. <dt><span class="returnLabel">Returns:</span></dt>
  604. <dd>the number of bytes to skipped or -1 if the end of stream</dd>
  605. <dt><span class="throwsLabel">Throws:</span></dt>
  606. <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if an I/O error occurs</dd>
  607. </dl>
  608. </li>
  609. </ul>
  610. </li>
  611. </ul>
  612. </li>
  613. </ul>
  614. </div>
  615. </div>
  616. <!-- ========= END OF CLASS DATA ========= -->
  617. <!-- ======= START OF BOTTOM NAVBAR ====== -->
  618. <div class="bottomNav"><a name="navbar.bottom">
  619. <!-- -->
  620. </a>
  621. <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
  622. <a name="navbar.bottom.firstrow">
  623. <!-- -->
  624. </a>
  625. <ul class="navList" title="Navigation">
  626. <li><a href="../../../../../overview-summary.html">Overview</a></li>
  627. <li><a href="package-summary.html">Package</a></li>
  628. <li class="navBarCell1Rev">Class</li>
  629. <li><a href="class-use/BOMInputStream.html">Use</a></li>
  630. <li><a href="package-tree.html">Tree</a></li>
  631. <li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
  632. <li><a href="../../../../../index-all.html">Index</a></li>
  633. <li><a href="../../../../../help-doc.html">Help</a></li>
  634. </ul>
  635. </div>
  636. <div class="subNav">
  637. <ul class="navList">
  638. <li><a href="../../../../../org/apache/commons/io/input/AutoCloseInputStream.html" title="class in org.apache.commons.io.input"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
  639. <li><a href="../../../../../org/apache/commons/io/input/BoundedInputStream.html" title="class in org.apache.commons.io.input"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
  640. </ul>
  641. <ul class="navList">
  642. <li><a href="../../../../../index.html?org/apache/commons/io/input/BOMInputStream.html" target="_top">Frames</a></li>
  643. <li><a href="BOMInputStream.html" target="_top">No&nbsp;Frames</a></li>
  644. </ul>
  645. <ul class="navList" id="allclasses_navbar_bottom">
  646. <li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
  647. </ul>
  648. <div>
  649. <script type="text/javascript"><!--
  650. allClassesLink = document.getElementById("allclasses_navbar_bottom");
  651. if(window==top) {
  652. allClassesLink.style.display = "block";
  653. }
  654. else {
  655. allClassesLink.style.display = "none";
  656. }
  657. //-->
  658. </script>
  659. </div>
  660. <div>
  661. <ul class="subNavList">
  662. <li>Summary:&nbsp;</li>
  663. <li>Nested&nbsp;|&nbsp;</li>
  664. <li><a href="#fields.inherited.from.class.java.io.FilterInputStream">Field</a>&nbsp;|&nbsp;</li>
  665. <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
  666. <li><a href="#method.summary">Method</a></li>
  667. </ul>
  668. <ul class="subNavList">
  669. <li>Detail:&nbsp;</li>
  670. <li>Field&nbsp;|&nbsp;</li>
  671. <li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
  672. <li><a href="#method.detail">Method</a></li>
  673. </ul>
  674. </div>
  675. <a name="skip.navbar.bottom">
  676. <!-- -->
  677. </a></div>
  678. <!-- ======== END OF BOTTOM NAVBAR ======= -->
  679. <p class="legalCopy"><small>Copyright &#169; 2002&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
  680. </body>
  681. </html>