<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<!-- This file causes RAT 0.9 to run very slowly: see RAT-138 -->
Copyright 2012-2013 FooBar. All Rights Reserved.
<head>
<meta http-equiv="Content-Type" content="text/html" charset="iso-8859-1">
<title>Index (Commons IO 2.5-SNAPSHOT API)</title>
<link rel="stylesheet" type="text/css" href="./stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="Index (Commons IO 2.5-SNAPSHOT API)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="./overview-summary.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="./overview-tree.html">Tree</a></li>
<li><a href="./deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="./help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="./index.html?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="./allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="contentContainer"><a href="#_A_">A</a>&nbsp;<a href="#_B_">B</a>&nbsp;<a href="#_C_">C</a>&nbsp;<a href="#_D_">D</a>&nbsp;<a href="#_E_">E</a>&nbsp;<a href="#_F_">F</a>&nbsp;<a href="#_G_">G</a>&nbsp;<a href="#_H_">H</a>&nbsp;<a href="#_I_">I</a>&nbsp;<a href="#_L_">L</a>&nbsp;<a href="#_M_">M</a>&nbsp;<a href="#_N_">N</a>&nbsp;<a href="#_O_">O</a>&nbsp;<a href="#_P_">P</a>&nbsp;<a href="#_R_">R</a>&nbsp;<a href="#_S_">S</a>&nbsp;<a href="#_T_">T</a>&nbsp;<a href="#_U_">U</a>&nbsp;<a href="#_V_">V</a>&nbsp;<a href="#_W_">W</a>&nbsp;<a href="#_X_">X</a>&nbsp;<a name="_A_">
<!--   -->
</a>
<h2 class="title">A</h2>
<dl>
<dt><a href="./org/apache/commons/io/filefilter/AbstractFileFilter.html" title="class in org.apache.commons.io.filefilter"><span class="strong">AbstractFileFilter</span></a> - Class in <a href="./org/apache/commons/io/filefilter/package-summary.html">org.apache.commons.io.filefilter</a></dt>
<dd>
<div class="block">An abstract class which implements the Java FileFilter and FilenameFilter 
 interfaces via the IOFileFilter interface.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/AbstractFileFilter.html#AbstractFileFilter()">AbstractFileFilter()</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/AbstractFileFilter.html" title="class in org.apache.commons.io.filefilter">AbstractFileFilter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/AbstractFileFilter.html#accept(java.io.File)">accept(File)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/AbstractFileFilter.html" title="class in org.apache.commons.io.filefilter">AbstractFileFilter</a></dt>
<dd>
<div class="block">Checks to see if the File should be accepted by this filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/AbstractFileFilter.html#accept(java.io.File, java.lang.String)">accept(File, String)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/AbstractFileFilter.html" title="class in org.apache.commons.io.filefilter">AbstractFileFilter</a></dt>
<dd>
<div class="block">Checks to see if the File should be accepted by this filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/AgeFileFilter.html#accept(java.io.File)">accept(File)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/AgeFileFilter.html" title="class in org.apache.commons.io.filefilter">AgeFileFilter</a></dt>
<dd>
<div class="block">Checks to see if the last modification of the file matches cutoff
 favorably.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/AndFileFilter.html#accept(java.io.File)">accept(File)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/AndFileFilter.html" title="class in org.apache.commons.io.filefilter">AndFileFilter</a></dt>
<dd>
<div class="block">Checks to see if the File should be accepted by this filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/AndFileFilter.html#accept(java.io.File, java.lang.String)">accept(File, String)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/AndFileFilter.html" title="class in org.apache.commons.io.filefilter">AndFileFilter</a></dt>
<dd>
<div class="block">Checks to see if the File should be accepted by this filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/CanReadFileFilter.html#accept(java.io.File)">accept(File)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/CanReadFileFilter.html" title="class in org.apache.commons.io.filefilter">CanReadFileFilter</a></dt>
<dd>
<div class="block">Checks to see if the file can be read.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/CanWriteFileFilter.html#accept(java.io.File)">accept(File)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/CanWriteFileFilter.html" title="class in org.apache.commons.io.filefilter">CanWriteFileFilter</a></dt>
<dd>
<div class="block">Checks to see if the file can be written to.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/DelegateFileFilter.html#accept(java.io.File)">accept(File)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/DelegateFileFilter.html" title="class in org.apache.commons.io.filefilter">DelegateFileFilter</a></dt>
<dd>
<div class="block">Checks the filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/DelegateFileFilter.html#accept(java.io.File, java.lang.String)">accept(File, String)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/DelegateFileFilter.html" title="class in org.apache.commons.io.filefilter">DelegateFileFilter</a></dt>
<dd>
<div class="block">Checks the filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/DirectoryFileFilter.html#accept(java.io.File)">accept(File)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/DirectoryFileFilter.html" title="class in org.apache.commons.io.filefilter">DirectoryFileFilter</a></dt>
<dd>
<div class="block">Checks to see if the file is a directory.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/EmptyFileFilter.html#accept(java.io.File)">accept(File)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/EmptyFileFilter.html" title="class in org.apache.commons.io.filefilter">EmptyFileFilter</a></dt>
<dd>
<div class="block">Checks to see if the file is empty.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FalseFileFilter.html#accept(java.io.File)">accept(File)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FalseFileFilter.html" title="class in org.apache.commons.io.filefilter">FalseFileFilter</a></dt>
<dd>
<div class="block">Returns false.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FalseFileFilter.html#accept(java.io.File, java.lang.String)">accept(File, String)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FalseFileFilter.html" title="class in org.apache.commons.io.filefilter">FalseFileFilter</a></dt>
<dd>
<div class="block">Returns false.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFileFilter.html#accept(java.io.File)">accept(File)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFileFilter.html" title="class in org.apache.commons.io.filefilter">FileFileFilter</a></dt>
<dd>
<div class="block">Checks to see if the file is a file.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/HiddenFileFilter.html#accept(java.io.File)">accept(File)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/HiddenFileFilter.html" title="class in org.apache.commons.io.filefilter">HiddenFileFilter</a></dt>
<dd>
<div class="block">Checks to see if the file is hidden.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/IOFileFilter.html#accept(java.io.File)">accept(File)</a></span> - Method in interface org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/IOFileFilter.html" title="interface in org.apache.commons.io.filefilter">IOFileFilter</a></dt>
<dd>
<div class="block">Checks to see if the File should be accepted by this filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/IOFileFilter.html#accept(java.io.File, java.lang.String)">accept(File, String)</a></span> - Method in interface org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/IOFileFilter.html" title="interface in org.apache.commons.io.filefilter">IOFileFilter</a></dt>
<dd>
<div class="block">Checks to see if the File should be accepted by this filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/MagicNumberFileFilter.html#accept(java.io.File)">accept(File)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/MagicNumberFileFilter.html" title="class in org.apache.commons.io.filefilter">MagicNumberFileFilter</a></dt>
<dd>
<div class="block">
 Accepts the provided file if the file contains the file filter's magic
 number at the specified offset.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/NameFileFilter.html#accept(java.io.File)">accept(File)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/NameFileFilter.html" title="class in org.apache.commons.io.filefilter">NameFileFilter</a></dt>
<dd>
<div class="block">Checks to see if the filename matches.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/NameFileFilter.html#accept(java.io.File, java.lang.String)">accept(File, String)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/NameFileFilter.html" title="class in org.apache.commons.io.filefilter">NameFileFilter</a></dt>
<dd>
<div class="block">Checks to see if the filename matches.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/NotFileFilter.html#accept(java.io.File)">accept(File)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/NotFileFilter.html" title="class in org.apache.commons.io.filefilter">NotFileFilter</a></dt>
<dd>
<div class="block">Returns the logical NOT of the underlying filter's return value for the same File.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/NotFileFilter.html#accept(java.io.File, java.lang.String)">accept(File, String)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/NotFileFilter.html" title="class in org.apache.commons.io.filefilter">NotFileFilter</a></dt>
<dd>
<div class="block">Returns the logical NOT of the underlying filter's return value for the same arguments.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/OrFileFilter.html#accept(java.io.File)">accept(File)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/OrFileFilter.html" title="class in org.apache.commons.io.filefilter">OrFileFilter</a></dt>
<dd>
<div class="block">Checks to see if the File should be accepted by this filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/OrFileFilter.html#accept(java.io.File, java.lang.String)">accept(File, String)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/OrFileFilter.html" title="class in org.apache.commons.io.filefilter">OrFileFilter</a></dt>
<dd>
<div class="block">Checks to see if the File should be accepted by this filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/PrefixFileFilter.html#accept(java.io.File)">accept(File)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/PrefixFileFilter.html" title="class in org.apache.commons.io.filefilter">PrefixFileFilter</a></dt>
<dd>
<div class="block">Checks to see if the filename starts with the prefix.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/PrefixFileFilter.html#accept(java.io.File, java.lang.String)">accept(File, String)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/PrefixFileFilter.html" title="class in org.apache.commons.io.filefilter">PrefixFileFilter</a></dt>
<dd>
<div class="block">Checks to see if the filename starts with the prefix.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/RegexFileFilter.html#accept(java.io.File, java.lang.String)">accept(File, String)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/RegexFileFilter.html" title="class in org.apache.commons.io.filefilter">RegexFileFilter</a></dt>
<dd>
<div class="block">Checks to see if the filename matches one of the regular expressions.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/SizeFileFilter.html#accept(java.io.File)">accept(File)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/SizeFileFilter.html" title="class in org.apache.commons.io.filefilter">SizeFileFilter</a></dt>
<dd>
<div class="block">Checks to see if the size of the file is favorable.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/SuffixFileFilter.html#accept(java.io.File)">accept(File)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/SuffixFileFilter.html" title="class in org.apache.commons.io.filefilter">SuffixFileFilter</a></dt>
<dd>
<div class="block">Checks to see if the filename ends with the suffix.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/SuffixFileFilter.html#accept(java.io.File, java.lang.String)">accept(File, String)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/SuffixFileFilter.html" title="class in org.apache.commons.io.filefilter">SuffixFileFilter</a></dt>
<dd>
<div class="block">Checks to see if the filename ends with the suffix.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/TrueFileFilter.html#accept(java.io.File)">accept(File)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/TrueFileFilter.html" title="class in org.apache.commons.io.filefilter">TrueFileFilter</a></dt>
<dd>
<div class="block">Returns true.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/TrueFileFilter.html#accept(java.io.File, java.lang.String)">accept(File, String)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/TrueFileFilter.html" title="class in org.apache.commons.io.filefilter">TrueFileFilter</a></dt>
<dd>
<div class="block">Returns true.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/WildcardFileFilter.html#accept(java.io.File, java.lang.String)">accept(File, String)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/WildcardFileFilter.html" title="class in org.apache.commons.io.filefilter">WildcardFileFilter</a></dt>
<dd>
<div class="block">Checks to see if the filename matches one of the wildcards.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/WildcardFileFilter.html#accept(java.io.File)">accept(File)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/WildcardFileFilter.html" title="class in org.apache.commons.io.filefilter">WildcardFileFilter</a></dt>
<dd>
<div class="block">Checks to see if the filename matches one of the wildcards.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/WildcardFilter.html#accept(java.io.File, java.lang.String)">accept(File, String)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/WildcardFilter.html" title="class in org.apache.commons.io.filefilter">WildcardFilter</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span></div>
<div class="block">Checks to see if the filename matches one of the wildcards.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/WildcardFilter.html#accept(java.io.File)">accept(File)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/WildcardFilter.html" title="class in org.apache.commons.io.filefilter">WildcardFilter</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span></div>
<div class="block">Checks to see if the filename matches one of the wildcards.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/AndFileFilter.html#addFileFilter(org.apache.commons.io.filefilter.IOFileFilter)">addFileFilter(IOFileFilter)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/AndFileFilter.html" title="class in org.apache.commons.io.filefilter">AndFileFilter</a></dt>
<dd>
<div class="block">Adds the specified file filter to the list of file filters at the end of
 the list.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/ConditionalFileFilter.html#addFileFilter(org.apache.commons.io.filefilter.IOFileFilter)">addFileFilter(IOFileFilter)</a></span> - Method in interface org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/ConditionalFileFilter.html" title="interface in org.apache.commons.io.filefilter">ConditionalFileFilter</a></dt>
<dd>
<div class="block">Adds the specified file filter to the list of file filters at the end of
 the list.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/OrFileFilter.html#addFileFilter(org.apache.commons.io.filefilter.IOFileFilter)">addFileFilter(IOFileFilter)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/OrFileFilter.html" title="class in org.apache.commons.io.filefilter">OrFileFilter</a></dt>
<dd>
<div class="block">Adds the specified file filter to the list of file filters at the end of
 the list.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationObserver.html#addListener(org.apache.commons.io.monitor.FileAlterationListener)">addListener(FileAlterationListener)</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationObserver.html" title="class in org.apache.commons.io.monitor">FileAlterationObserver</a></dt>
<dd>
<div class="block">Add a file system listener.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationMonitor.html#addObserver(org.apache.commons.io.monitor.FileAlterationObserver)">addObserver(FileAlterationObserver)</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationMonitor.html" title="class in org.apache.commons.io.monitor">FileAlterationMonitor</a></dt>
<dd>
<div class="block">Add a file system observer to this monitor.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/AutoCloseInputStream.html#afterRead(int)">afterRead(int)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/AutoCloseInputStream.html" title="class in org.apache.commons.io.input">AutoCloseInputStream</a></dt>
<dd>
<div class="block">Automatically closes the stream if the end of stream was reached.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CountingInputStream.html#afterRead(int)">afterRead(int)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CountingInputStream.html" title="class in org.apache.commons.io.input">CountingInputStream</a></dt>
<dd>
<div class="block">Adds the number of read bytes to the count.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ProxyInputStream.html#afterRead(int)">afterRead(int)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ProxyInputStream.html" title="class in org.apache.commons.io.input">ProxyInputStream</a></dt>
<dd>
<div class="block">Invoked by the read methods after the proxied call has returned
 successfully.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ProxyReader.html#afterRead(int)">afterRead(int)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ProxyReader.html" title="class in org.apache.commons.io.input">ProxyReader</a></dt>
<dd>
<div class="block">Invoked by the read methods after the proxied call has returned
 successfully.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ProxyOutputStream.html#afterWrite(int)">afterWrite(int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ProxyOutputStream.html" title="class in org.apache.commons.io.output">ProxyOutputStream</a></dt>
<dd>
<div class="block">Invoked by the write methods after the proxied call has returned
 successfully.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ProxyWriter.html#afterWrite(int)">afterWrite(int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ProxyWriter.html" title="class in org.apache.commons.io.output">ProxyWriter</a></dt>
<dd>
<div class="block">Invoked by the write methods after the proxied call has returned
 successfully.</div>
</dd>
<dt><a href="./org/apache/commons/io/filefilter/AgeFileFilter.html" title="class in org.apache.commons.io.filefilter"><span class="strong">AgeFileFilter</span></a> - Class in <a href="./org/apache/commons/io/filefilter/package-summary.html">org.apache.commons.io.filefilter</a></dt>
<dd>
<div class="block">Filters files based on a cutoff time, can filter either newer
 files or files equal to or older.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/AgeFileFilter.html#AgeFileFilter(long)">AgeFileFilter(long)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/AgeFileFilter.html" title="class in org.apache.commons.io.filefilter">AgeFileFilter</a></dt>
<dd>
<div class="block">Constructs a new age file filter for files equal to or older than
 a certain cutoff</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/AgeFileFilter.html#AgeFileFilter(long, boolean)">AgeFileFilter(long, boolean)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/AgeFileFilter.html" title="class in org.apache.commons.io.filefilter">AgeFileFilter</a></dt>
<dd>
<div class="block">Constructs a new age file filter for files on any one side
 of a certain cutoff.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/AgeFileFilter.html#AgeFileFilter(java.util.Date)">AgeFileFilter(Date)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/AgeFileFilter.html" title="class in org.apache.commons.io.filefilter">AgeFileFilter</a></dt>
<dd>
<div class="block">Constructs a new age file filter for files older than (at or before)
 a certain cutoff date.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/AgeFileFilter.html#AgeFileFilter(java.util.Date, boolean)">AgeFileFilter(Date, boolean)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/AgeFileFilter.html" title="class in org.apache.commons.io.filefilter">AgeFileFilter</a></dt>
<dd>
<div class="block">Constructs a new age file filter for files on any one side
 of a certain cutoff date.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/AgeFileFilter.html#AgeFileFilter(java.io.File)">AgeFileFilter(File)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/AgeFileFilter.html" title="class in org.apache.commons.io.filefilter">AgeFileFilter</a></dt>
<dd>
<div class="block">Constructs a new age file filter for files older than (at or before)
 a certain File (whose last modification time will be used as reference).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/AgeFileFilter.html#AgeFileFilter(java.io.File, boolean)">AgeFileFilter(File, boolean)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/AgeFileFilter.html" title="class in org.apache.commons.io.filefilter">AgeFileFilter</a></dt>
<dd>
<div class="block">Constructs a new age file filter for files on any one side
 of a certain File (whose last modification time will be used as
 reference).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#ageFileFilter(long)">ageFileFilter(long)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Returns a filter that returns true if the file was last modified after
 the specified cutoff time.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#ageFileFilter(long, boolean)">ageFileFilter(long, boolean)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Returns a filter that filters files based on a cutoff time.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#ageFileFilter(java.util.Date)">ageFileFilter(Date)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Returns a filter that returns true if the file was last modified after
 the specified cutoff date.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#ageFileFilter(java.util.Date, boolean)">ageFileFilter(Date, boolean)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Returns a filter that filters files based on a cutoff date.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#ageFileFilter(java.io.File)">ageFileFilter(File)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Returns a filter that returns true if the file was last modified after
 the specified reference file.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#ageFileFilter(java.io.File, boolean)">ageFileFilter(File, boolean)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Returns a filter that filters files based on a cutoff reference file.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#and(org.apache.commons.io.filefilter.IOFileFilter...)">and(IOFileFilter...)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Returns a filter that ANDs the specified filters.</div>
</dd>
<dt><a href="./org/apache/commons/io/filefilter/AndFileFilter.html" title="class in org.apache.commons.io.filefilter"><span class="strong">AndFileFilter</span></a> - Class in <a href="./org/apache/commons/io/filefilter/package-summary.html">org.apache.commons.io.filefilter</a></dt>
<dd>
<div class="block">A <a href="http://download.oracle.com/javase/6/docs/api/java/io/FileFilter.html?is-external=true" title="class or interface in java.io"><code>FileFilter</code></a> providing conditional AND logic across a list of
 file filters.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/AndFileFilter.html#AndFileFilter()">AndFileFilter()</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/AndFileFilter.html" title="class in org.apache.commons.io.filefilter">AndFileFilter</a></dt>
<dd>
<div class="block">Constructs a new instance of <code>AndFileFilter</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/AndFileFilter.html#AndFileFilter(java.util.List)">AndFileFilter(List&lt;IOFileFilter&gt;)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/AndFileFilter.html" title="class in org.apache.commons.io.filefilter">AndFileFilter</a></dt>
<dd>
<div class="block">Constructs a new instance of <code>AndFileFilter</code>
 with the specified list of filters.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/AndFileFilter.html#AndFileFilter(org.apache.commons.io.filefilter.IOFileFilter, org.apache.commons.io.filefilter.IOFileFilter)">AndFileFilter(IOFileFilter, IOFileFilter)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/AndFileFilter.html" title="class in org.apache.commons.io.filefilter">AndFileFilter</a></dt>
<dd>
<div class="block">Constructs a new file filter that ANDs the result of two other filters.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#andFileFilter(org.apache.commons.io.filefilter.IOFileFilter, org.apache.commons.io.filefilter.IOFileFilter)">andFileFilter(IOFileFilter, IOFileFilter)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>use <a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#and(org.apache.commons.io.filefilter.IOFileFilter...)"><code>FileFilterUtils.and(IOFileFilter...)</code></a></i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/NullWriter.html#append(char)">append(char)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/NullWriter.html" title="class in org.apache.commons.io.output">NullWriter</a></dt>
<dd>
<div class="block">Does nothing - output to <code>/dev/null</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/NullWriter.html#append(java.lang.CharSequence, int, int)">append(CharSequence, int, int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/NullWriter.html" title="class in org.apache.commons.io.output">NullWriter</a></dt>
<dd>
<div class="block">Does nothing - output to <code>/dev/null</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/NullWriter.html#append(java.lang.CharSequence)">append(CharSequence)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/NullWriter.html" title="class in org.apache.commons.io.output">NullWriter</a></dt>
<dd>
<div class="block">Does nothing - output to <code>/dev/null</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ProxyWriter.html#append(char)">append(char)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ProxyWriter.html" title="class in org.apache.commons.io.output">ProxyWriter</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>append(char)</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ProxyWriter.html#append(java.lang.CharSequence, int, int)">append(CharSequence, int, int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ProxyWriter.html" title="class in org.apache.commons.io.output">ProxyWriter</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>append(CharSequence, int, int)</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ProxyWriter.html#append(java.lang.CharSequence)">append(CharSequence)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ProxyWriter.html" title="class in org.apache.commons.io.output">ProxyWriter</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>append(CharSequence)</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/StringBuilderWriter.html#append(char)">append(char)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/StringBuilderWriter.html" title="class in org.apache.commons.io.output">StringBuilderWriter</a></dt>
<dd>
<div class="block">Append a single character to this Writer.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/StringBuilderWriter.html#append(java.lang.CharSequence)">append(CharSequence)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/StringBuilderWriter.html" title="class in org.apache.commons.io.output">StringBuilderWriter</a></dt>
<dd>
<div class="block">Append a character sequence to this Writer.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/StringBuilderWriter.html#append(java.lang.CharSequence, int, int)">append(CharSequence, int, int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/StringBuilderWriter.html" title="class in org.apache.commons.io.output">StringBuilderWriter</a></dt>
<dd>
<div class="block">Append a portion of a character sequence to the <a href="http://download.oracle.com/javase/6/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang"><code>StringBuilder</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#asBufferedInputStream(java.io.InputStream)">asBufferedInputStream(InputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Returns the given InputStream if it is already a <a href="http://download.oracle.com/javase/6/docs/api/java/io/BufferedInputStream.html?is-external=true" title="class or interface in java.io"><code>BufferedInputStream</code></a>, otherwise creates a BufferedInputStream from the given
 InputStream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#asBufferedOutputStream(java.io.OutputStream)">asBufferedOutputStream(OutputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Returns the given OutputStream if it is already a <a href="http://download.oracle.com/javase/6/docs/api/java/io/BufferedOutputStream.html?is-external=true" title="class or interface in java.io"><code>BufferedOutputStream</code></a>, otherwise creates a BufferedOutputStream from the given
 OutputStream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#asBufferedReader(java.io.Reader)">asBufferedReader(Reader)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Returns the given reader if it is already a <a href="http://download.oracle.com/javase/6/docs/api/java/io/BufferedReader.html?is-external=true" title="class or interface in java.io"><code>BufferedReader</code></a>, otherwise creates a BufferedReader from the given
 reader.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#asBufferedWriter(java.io.Writer)">asBufferedWriter(Writer)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Returns the given Writer if it is already a <a href="http://download.oracle.com/javase/6/docs/api/java/io/BufferedWriter.html?is-external=true" title="class or interface in java.io"><code>BufferedWriter</code></a>, otherwise creates a BufferedWriter from the given
 Writer.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#asFileFilter(java.io.FileFilter)">asFileFilter(FileFilter)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Returns an <code>IOFileFilter</code> that wraps the
 <code>FileFilter</code> instance.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#asFileFilter(java.io.FilenameFilter)">asFileFilter(FilenameFilter)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Returns an <code>IOFileFilter</code> that wraps the
 <code>FilenameFilter</code> instance.</div>
</dd>
<dt><a href="./org/apache/commons/io/input/AutoCloseInputStream.html" title="class in org.apache.commons.io.input"><span class="strong">AutoCloseInputStream</span></a> - Class in <a href="./org/apache/commons/io/input/package-summary.html">org.apache.commons.io.input</a></dt>
<dd>
<div class="block">Proxy stream that closes and discards the underlying stream as soon as the
 end of input has been reached or when the stream is explicitly closed.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/AutoCloseInputStream.html#AutoCloseInputStream(java.io.InputStream)">AutoCloseInputStream(InputStream)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/AutoCloseInputStream.html" title="class in org.apache.commons.io.input">AutoCloseInputStream</a></dt>
<dd>
<div class="block">Creates an automatically closing proxy for the given input stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BoundedInputStream.html#available()">available()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BoundedInputStream.html" title="class in org.apache.commons.io.input">BoundedInputStream</a></dt>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BrokenInputStream.html#available()">available()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BrokenInputStream.html" title="class in org.apache.commons.io.input">BrokenInputStream</a></dt>
<dd>
<div class="block">Throws the configured exception.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CharSequenceInputStream.html#available()">available()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CharSequenceInputStream.html" title="class in org.apache.commons.io.input">CharSequenceInputStream</a></dt>
<dd>
<div class="block">Return an estimate of the number of bytes remaining in the byte stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/NullInputStream.html#available()">available()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/NullInputStream.html" title="class in org.apache.commons.io.input">NullInputStream</a></dt>
<dd>
<div class="block">Return the number of bytes that can be read.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ProxyInputStream.html#available()">available()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ProxyInputStream.html" title="class in org.apache.commons.io.input">ProxyInputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>available()</code> method.</div>
</dd>
</dl>
<a name="_B_">
<!--   -->
</a>
<h2 class="title">B</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ProxyInputStream.html#beforeRead(int)">beforeRead(int)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ProxyInputStream.html" title="class in org.apache.commons.io.input">ProxyInputStream</a></dt>
<dd>
<div class="block">Invoked by the read methods before the call is proxied.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ProxyReader.html#beforeRead(int)">beforeRead(int)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ProxyReader.html" title="class in org.apache.commons.io.input">ProxyReader</a></dt>
<dd>
<div class="block">Invoked by the read methods before the call is proxied.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/CountingOutputStream.html#beforeWrite(int)">beforeWrite(int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/CountingOutputStream.html" title="class in org.apache.commons.io.output">CountingOutputStream</a></dt>
<dd>
<div class="block">Updates the count with the number of bytes that are being written.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ProxyOutputStream.html#beforeWrite(int)">beforeWrite(int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ProxyOutputStream.html" title="class in org.apache.commons.io.output">ProxyOutputStream</a></dt>
<dd>
<div class="block">Invoked by the write methods before the call is proxied.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ProxyWriter.html#beforeWrite(int)">beforeWrite(int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ProxyWriter.html" title="class in org.apache.commons.io.output">ProxyWriter</a></dt>
<dd>
<div class="block">Invoked by the write methods before the call is proxied.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/DemuxInputStream.html#bindStream(java.io.InputStream)">bindStream(InputStream)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/DemuxInputStream.html" title="class in org.apache.commons.io.input">DemuxInputStream</a></dt>
<dd>
<div class="block">Bind the specified stream to the current thread.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/DemuxOutputStream.html#bindStream(java.io.OutputStream)">bindStream(OutputStream)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/DemuxOutputStream.html" title="class in org.apache.commons.io.output">DemuxOutputStream</a></dt>
<dd>
<div class="block">Bind the specified stream to the current thread.</div>
</dd>
<dt><a href="./org/apache/commons/io/input/BOMInputStream.html" title="class in org.apache.commons.io.input"><span class="strong">BOMInputStream</span></a> - Class in <a href="./org/apache/commons/io/input/package-summary.html">org.apache.commons.io.input</a></dt>
<dd>
<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.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BOMInputStream.html#BOMInputStream(java.io.InputStream)">BOMInputStream(InputStream)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BOMInputStream.html" title="class in org.apache.commons.io.input">BOMInputStream</a></dt>
<dd>
<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>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BOMInputStream.html#BOMInputStream(java.io.InputStream, boolean)">BOMInputStream(InputStream, boolean)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BOMInputStream.html" title="class in org.apache.commons.io.input">BOMInputStream</a></dt>
<dd>
<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>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BOMInputStream.html#BOMInputStream(java.io.InputStream, org.apache.commons.io.ByteOrderMark...)">BOMInputStream(InputStream, ByteOrderMark...)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BOMInputStream.html" title="class in org.apache.commons.io.input">BOMInputStream</a></dt>
<dd>
<div class="block">Constructs a new BOM InputStream that excludes the specified BOMs.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BOMInputStream.html#BOMInputStream(java.io.InputStream, boolean, org.apache.commons.io.ByteOrderMark...)">BOMInputStream(InputStream, boolean, ByteOrderMark...)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BOMInputStream.html" title="class in org.apache.commons.io.input">BOMInputStream</a></dt>
<dd>
<div class="block">Constructs a new BOM InputStream that detects the specified BOMs and optionally includes them.</div>
</dd>
<dt><a href="./org/apache/commons/io/input/BoundedInputStream.html" title="class in org.apache.commons.io.input"><span class="strong">BoundedInputStream</span></a> - Class in <a href="./org/apache/commons/io/input/package-summary.html">org.apache.commons.io.input</a></dt>
<dd>
<div class="block">This is a stream that will only supply bytes up to a certain length - if its
 position goes above that, it will stop.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BoundedInputStream.html#BoundedInputStream(java.io.InputStream, long)">BoundedInputStream(InputStream, long)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BoundedInputStream.html" title="class in org.apache.commons.io.input">BoundedInputStream</a></dt>
<dd>
<div class="block">Creates a new <code>BoundedInputStream</code> that wraps the given input
 stream and limits it to a certain size.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BoundedInputStream.html#BoundedInputStream(java.io.InputStream)">BoundedInputStream(InputStream)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BoundedInputStream.html" title="class in org.apache.commons.io.input">BoundedInputStream</a></dt>
<dd>
<div class="block">Creates a new <code>BoundedInputStream</code> that wraps the given input
 stream and is unlimited.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/TeeOutputStream.html#branch">branch</a></span> - Variable in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/TeeOutputStream.html" title="class in org.apache.commons.io.output">TeeOutputStream</a></dt>
<dd>
<div class="block">the second OutputStream to write to</div>
</dd>
<dt><a href="./org/apache/commons/io/input/BrokenInputStream.html" title="class in org.apache.commons.io.input"><span class="strong">BrokenInputStream</span></a> - Class in <a href="./org/apache/commons/io/input/package-summary.html">org.apache.commons.io.input</a></dt>
<dd>
<div class="block">Broken input stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BrokenInputStream.html#BrokenInputStream(java.io.IOException)">BrokenInputStream(IOException)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BrokenInputStream.html" title="class in org.apache.commons.io.input">BrokenInputStream</a></dt>
<dd>
<div class="block">Creates a new stream that always throws the given exception.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BrokenInputStream.html#BrokenInputStream()">BrokenInputStream()</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BrokenInputStream.html" title="class in org.apache.commons.io.input">BrokenInputStream</a></dt>
<dd>
<div class="block">Creates a new stream that always throws an <a href="http://download.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io"><code>IOException</code></a></div>
</dd>
<dt><a href="./org/apache/commons/io/output/BrokenOutputStream.html" title="class in org.apache.commons.io.output"><span class="strong">BrokenOutputStream</span></a> - Class in <a href="./org/apache/commons/io/output/package-summary.html">org.apache.commons.io.output</a></dt>
<dd>
<div class="block">Broken output stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/BrokenOutputStream.html#BrokenOutputStream(java.io.IOException)">BrokenOutputStream(IOException)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/BrokenOutputStream.html" title="class in org.apache.commons.io.output">BrokenOutputStream</a></dt>
<dd>
<div class="block">Creates a new stream that always throws the given exception.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/BrokenOutputStream.html#BrokenOutputStream()">BrokenOutputStream()</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/BrokenOutputStream.html" title="class in org.apache.commons.io.output">BrokenOutputStream</a></dt>
<dd>
<div class="block">Creates a new stream that always throws an <a href="http://download.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io"><code>IOException</code></a></div>
</dd>
<dt><a href="./org/apache/commons/io/output/ByteArrayOutputStream.html" title="class in org.apache.commons.io.output"><span class="strong">ByteArrayOutputStream</span></a> - Class in <a href="./org/apache/commons/io/output/package-summary.html">org.apache.commons.io.output</a></dt>
<dd>
<div class="block">This class implements an output stream in which the data is
 written into a byte array.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ByteArrayOutputStream.html#ByteArrayOutputStream()">ByteArrayOutputStream()</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ByteArrayOutputStream.html" title="class in org.apache.commons.io.output">ByteArrayOutputStream</a></dt>
<dd>
<div class="block">Creates a new byte array output stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ByteArrayOutputStream.html#ByteArrayOutputStream(int)">ByteArrayOutputStream(int)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ByteArrayOutputStream.html" title="class in org.apache.commons.io.output">ByteArrayOutputStream</a></dt>
<dd>
<div class="block">Creates a new byte array output stream, with a buffer capacity of
 the specified size, in bytes.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#byteCountToDisplaySize(java.math.BigInteger)">byteCountToDisplaySize(BigInteger)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Returns a human-readable version of the file size, where the input represents a specific number of bytes.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#byteCountToDisplaySize(long)">byteCountToDisplaySize(long)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Returns a human-readable version of the file size, where the input represents a specific number of bytes.</div>
</dd>
<dt><a href="./org/apache/commons/io/ByteOrderMark.html" title="class in org.apache.commons.io"><span class="strong">ByteOrderMark</span></a> - Class in <a href="./org/apache/commons/io/package-summary.html">org.apache.commons.io</a></dt>
<dd>
<div class="block">Byte Order Mark (BOM) representation - see <a href="./org/apache/commons/io/input/BOMInputStream.html" title="class in org.apache.commons.io.input"><code>BOMInputStream</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/ByteOrderMark.html#ByteOrderMark(java.lang.String, int...)">ByteOrderMark(String, int...)</a></span> - Constructor for class org.apache.commons.io.<a href="./org/apache/commons/io/ByteOrderMark.html" title="class in org.apache.commons.io">ByteOrderMark</a></dt>
<dd>
<div class="block">Construct a new BOM.</div>
</dd>
</dl>
<a name="_C_">
<!--   -->
</a>
<h2 class="title">C</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/CanReadFileFilter.html#CAN_READ">CAN_READ</a></span> - Static variable in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/CanReadFileFilter.html" title="class in org.apache.commons.io.filefilter">CanReadFileFilter</a></dt>
<dd>
<div class="block">Singleton instance of <i>readable</i> filter</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/CanWriteFileFilter.html#CAN_WRITE">CAN_WRITE</a></span> - Static variable in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/CanWriteFileFilter.html" title="class in org.apache.commons.io.filefilter">CanWriteFileFilter</a></dt>
<dd>
<div class="block">Singleton instance of <i>writable</i> filter</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/CanReadFileFilter.html#CANNOT_READ">CANNOT_READ</a></span> - Static variable in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/CanReadFileFilter.html" title="class in org.apache.commons.io.filefilter">CanReadFileFilter</a></dt>
<dd>
<div class="block">Singleton instance of not <i>readable</i> filter</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/CanWriteFileFilter.html#CANNOT_WRITE">CANNOT_WRITE</a></span> - Static variable in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/CanWriteFileFilter.html" title="class in org.apache.commons.io.filefilter">CanWriteFileFilter</a></dt>
<dd>
<div class="block">Singleton instance of not <i>writable</i> filter</div>
</dd>
<dt><a href="./org/apache/commons/io/filefilter/CanReadFileFilter.html" title="class in org.apache.commons.io.filefilter"><span class="strong">CanReadFileFilter</span></a> - Class in <a href="./org/apache/commons/io/filefilter/package-summary.html">org.apache.commons.io.filefilter</a></dt>
<dd>
<div class="block">This filter accepts <code>File</code>s that can be read.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/CanReadFileFilter.html#CanReadFileFilter()">CanReadFileFilter()</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/CanReadFileFilter.html" title="class in org.apache.commons.io.filefilter">CanReadFileFilter</a></dt>
<dd>
<div class="block">Restrictive consructor.</div>
</dd>
<dt><a href="./org/apache/commons/io/filefilter/CanWriteFileFilter.html" title="class in org.apache.commons.io.filefilter"><span class="strong">CanWriteFileFilter</span></a> - Class in <a href="./org/apache/commons/io/filefilter/package-summary.html">org.apache.commons.io.filefilter</a></dt>
<dd>
<div class="block">This filter accepts <code>File</code>s that can be written to.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/CanWriteFileFilter.html#CanWriteFileFilter()">CanWriteFileFilter()</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/CanWriteFileFilter.html" title="class in org.apache.commons.io.filefilter">CanWriteFileFilter</a></dt>
<dd>
<div class="block">Restrictive consructor.</div>
</dd>
<dt><a href="./org/apache/commons/io/input/CharSequenceInputStream.html" title="class in org.apache.commons.io.input"><span class="strong">CharSequenceInputStream</span></a> - Class in <a href="./org/apache/commons/io/input/package-summary.html">org.apache.commons.io.input</a></dt>
<dd>
<div class="block"><a href="http://download.oracle.com/javase/6/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a> implementation that can read from String, StringBuffer,
 StringBuilder or CharBuffer.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CharSequenceInputStream.html#CharSequenceInputStream(java.lang.CharSequence, java.nio.charset.Charset, int)">CharSequenceInputStream(CharSequence, Charset, int)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CharSequenceInputStream.html" title="class in org.apache.commons.io.input">CharSequenceInputStream</a></dt>
<dd>
<div class="block">Constructor.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CharSequenceInputStream.html#CharSequenceInputStream(java.lang.CharSequence, java.lang.String, int)">CharSequenceInputStream(CharSequence, String, int)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CharSequenceInputStream.html" title="class in org.apache.commons.io.input">CharSequenceInputStream</a></dt>
<dd>
<div class="block">Constructor, calls <a href="./org/apache/commons/io/input/CharSequenceInputStream.html#CharSequenceInputStream(java.lang.CharSequence, java.nio.charset.Charset, int)"><code>CharSequenceInputStream.CharSequenceInputStream(CharSequence, Charset, int)</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CharSequenceInputStream.html#CharSequenceInputStream(java.lang.CharSequence, java.nio.charset.Charset)">CharSequenceInputStream(CharSequence, Charset)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CharSequenceInputStream.html" title="class in org.apache.commons.io.input">CharSequenceInputStream</a></dt>
<dd>
<div class="block">Constructor, calls <a href="./org/apache/commons/io/input/CharSequenceInputStream.html#CharSequenceInputStream(java.lang.CharSequence, java.nio.charset.Charset, int)"><code>CharSequenceInputStream.CharSequenceInputStream(CharSequence, Charset, int)</code></a>
 with a buffer size of 2048.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CharSequenceInputStream.html#CharSequenceInputStream(java.lang.CharSequence, java.lang.String)">CharSequenceInputStream(CharSequence, String)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CharSequenceInputStream.html" title="class in org.apache.commons.io.input">CharSequenceInputStream</a></dt>
<dd>
<div class="block">Constructor, calls <a href="./org/apache/commons/io/input/CharSequenceInputStream.html#CharSequenceInputStream(java.lang.CharSequence, java.lang.String, int)"><code>CharSequenceInputStream.CharSequenceInputStream(CharSequence, String, int)</code></a>
 with a buffer size of 2048.</div>
</dd>
<dt><a href="./org/apache/commons/io/input/CharSequenceReader.html" title="class in org.apache.commons.io.input"><span class="strong">CharSequenceReader</span></a> - Class in <a href="./org/apache/commons/io/input/package-summary.html">org.apache.commons.io.input</a></dt>
<dd>
<div class="block"><a href="http://download.oracle.com/javase/6/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io"><code>Reader</code></a> implementation that can read from String, StringBuffer,
 StringBuilder or CharBuffer.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CharSequenceReader.html#CharSequenceReader(java.lang.CharSequence)">CharSequenceReader(CharSequence)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CharSequenceReader.html" title="class in org.apache.commons.io.input">CharSequenceReader</a></dt>
<dd>
<div class="block">Construct a new instance with the specified character sequence.</div>
</dd>
<dt><a href="./org/apache/commons/io/Charsets.html" title="class in org.apache.commons.io"><span class="strong">Charsets</span></a> - Class in <a href="./org/apache/commons/io/package-summary.html">org.apache.commons.io</a></dt>
<dd>
<div class="block">Charsets required of every implementation of the Java platform.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/Charsets.html#Charsets()">Charsets()</a></span> - Constructor for class org.apache.commons.io.<a href="./org/apache/commons/io/Charsets.html" title="class in org.apache.commons.io">Charsets</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationObserver.html#checkAndNotify()">checkAndNotify()</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationObserver.html" title="class in org.apache.commons.io.monitor">FileAlterationObserver</a></dt>
<dd>
<div class="block">Check whether the file and its chlidren have been created, modified or deleted.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOCase.html#checkCompareTo(java.lang.String, java.lang.String)">checkCompareTo(String, String)</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOCase.html" title="class in org.apache.commons.io">IOCase</a></dt>
<dd>
<div class="block">Compares two strings using the case-sensitivity rule.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOCase.html#checkEndsWith(java.lang.String, java.lang.String)">checkEndsWith(String, String)</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOCase.html" title="class in org.apache.commons.io">IOCase</a></dt>
<dd>
<div class="block">Checks if one string ends with another using the case-sensitivity rule.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOCase.html#checkEquals(java.lang.String, java.lang.String)">checkEquals(String, String)</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOCase.html" title="class in org.apache.commons.io">IOCase</a></dt>
<dd>
<div class="block">Compares two strings using the case-sensitivity rule.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/DirectoryWalker.html#checkIfCancelled(java.io.File, int, java.util.Collection)">checkIfCancelled(File, int, Collection&lt;T&gt;)</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/DirectoryWalker.html" title="class in org.apache.commons.io">DirectoryWalker</a></dt>
<dd>
<div class="block">Checks whether the walk has been cancelled by calling <a href="./org/apache/commons/io/DirectoryWalker.html#handleIsCancelled(java.io.File, int, java.util.Collection)"><code>DirectoryWalker.handleIsCancelled(java.io.File, int, java.util.Collection&lt;T&gt;)</code></a>,
 throwing a <code>CancelException</code> if it has.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOCase.html#checkIndexOf(java.lang.String, int, java.lang.String)">checkIndexOf(String, int, String)</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOCase.html" title="class in org.apache.commons.io">IOCase</a></dt>
<dd>
<div class="block">Checks if one string contains another starting at a specific index using the
 case-sensitivity rule.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOCase.html#checkRegionMatches(java.lang.String, int, java.lang.String)">checkRegionMatches(String, int, String)</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOCase.html" title="class in org.apache.commons.io">IOCase</a></dt>
<dd>
<div class="block">Checks if one string contains another at a specific index using the case-sensitivity rule.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOCase.html#checkStartsWith(java.lang.String, java.lang.String)">checkStartsWith(String, String)</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOCase.html" title="class in org.apache.commons.io">IOCase</a></dt>
<dd>
<div class="block">Checks if one string starts with another using the case-sensitivity rule.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#checksum(java.io.File, java.util.zip.Checksum)">checksum(File, Checksum)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Computes the checksum of a file using the specified checksum object.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#checksumCRC32(java.io.File)">checksumCRC32(File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Computes the checksum of a file using the CRC32 checksum routine.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ThresholdingOutputStream.html#checkThreshold(int)">checkThreshold(int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ThresholdingOutputStream.html" title="class in org.apache.commons.io.output">ThresholdingOutputStream</a></dt>
<dd>
<div class="block">Checks to see if writing the specified number of bytes would cause the
 configured threshold to be exceeded.</div>
</dd>
<dt><a href="./org/apache/commons/io/input/ClassLoaderObjectInputStream.html" title="class in org.apache.commons.io.input"><span class="strong">ClassLoaderObjectInputStream</span></a> - Class in <a href="./org/apache/commons/io/input/package-summary.html">org.apache.commons.io.input</a></dt>
<dd>
<div class="block">A special ObjectInputStream that loads a class based on a specified
 <code>ClassLoader</code> rather than the system default.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ClassLoaderObjectInputStream.html#ClassLoaderObjectInputStream(java.lang.ClassLoader, java.io.InputStream)">ClassLoaderObjectInputStream(ClassLoader, InputStream)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ClassLoaderObjectInputStream.html" title="class in org.apache.commons.io.input">ClassLoaderObjectInputStream</a></dt>
<dd>
<div class="block">Constructs a new ClassLoaderObjectInputStream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#cleanDirectory(java.io.File)">cleanDirectory(File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Cleans a directory without deleting it.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/AutoCloseInputStream.html#close()">close()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/AutoCloseInputStream.html" title="class in org.apache.commons.io.input">AutoCloseInputStream</a></dt>
<dd>
<div class="block">Closes the underlying input stream and replaces the reference to it
 with a <a href="./org/apache/commons/io/input/ClosedInputStream.html" title="class in org.apache.commons.io.input"><code>ClosedInputStream</code></a> instance.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BoundedInputStream.html#close()">close()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BoundedInputStream.html" title="class in org.apache.commons.io.input">BoundedInputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>close()</code> method
 if <a href="./org/apache/commons/io/input/BoundedInputStream.html#isPropagateClose()"><code>BoundedInputStream.isPropagateClose()</code></a> is <code>true</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BrokenInputStream.html#close()">close()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BrokenInputStream.html" title="class in org.apache.commons.io.input">BrokenInputStream</a></dt>
<dd>
<div class="block">Throws the configured exception.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CharSequenceInputStream.html#close()">close()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CharSequenceInputStream.html" title="class in org.apache.commons.io.input">CharSequenceInputStream</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CharSequenceReader.html#close()">close()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CharSequenceReader.html" title="class in org.apache.commons.io.input">CharSequenceReader</a></dt>
<dd>
<div class="block">Close resets the file back to the start and removes any marked position.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CloseShieldInputStream.html#close()">close()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CloseShieldInputStream.html" title="class in org.apache.commons.io.input">CloseShieldInputStream</a></dt>
<dd>
<div class="block">Replaces the underlying input stream with a <a href="./org/apache/commons/io/input/ClosedInputStream.html" title="class in org.apache.commons.io.input"><code>ClosedInputStream</code></a>
 sentinel.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/DemuxInputStream.html#close()">close()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/DemuxInputStream.html" title="class in org.apache.commons.io.input">DemuxInputStream</a></dt>
<dd>
<div class="block">Closes stream associated with current thread.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/NullInputStream.html#close()">close()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/NullInputStream.html" title="class in org.apache.commons.io.input">NullInputStream</a></dt>
<dd>
<div class="block">Close this input stream - resets the internal state to
 the initial values.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/NullReader.html#close()">close()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/NullReader.html" title="class in org.apache.commons.io.input">NullReader</a></dt>
<dd>
<div class="block">Close this Reader - resets the internal state to
 the initial values.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ProxyInputStream.html#close()">close()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ProxyInputStream.html" title="class in org.apache.commons.io.input">ProxyInputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>close()</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ProxyReader.html#close()">close()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ProxyReader.html" title="class in org.apache.commons.io.input">ProxyReader</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>close()</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ReaderInputStream.html#close()">close()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ReaderInputStream.html" title="class in org.apache.commons.io.input">ReaderInputStream</a></dt>
<dd>
<div class="block">Close the stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ReversedLinesFileReader.html#close()">close()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ReversedLinesFileReader.html" title="class in org.apache.commons.io.input">ReversedLinesFileReader</a></dt>
<dd>
<div class="block">Closes underlying resources.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/TeeInputStream.html#close()">close()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/TeeInputStream.html" title="class in org.apache.commons.io.input">TeeInputStream</a></dt>
<dd>
<div class="block">Closes the proxied input stream and, if so configured, the associated
 output stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/XmlStreamReader.html#close()">close()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/XmlStreamReader.html" title="class in org.apache.commons.io.input">XmlStreamReader</a></dt>
<dd>
<div class="block">Closes the XmlStreamReader stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#close(java.net.URLConnection)">close(URLConnection)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Closes a URLConnection.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/LineIterator.html#close()">close()</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/LineIterator.html" title="class in org.apache.commons.io">LineIterator</a></dt>
<dd>
<div class="block">Closes the underlying <code>Reader</code> quietly.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/BrokenOutputStream.html#close()">close()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/BrokenOutputStream.html" title="class in org.apache.commons.io.output">BrokenOutputStream</a></dt>
<dd>
<div class="block">Throws the configured exception.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ByteArrayOutputStream.html#close()">close()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ByteArrayOutputStream.html" title="class in org.apache.commons.io.output">ByteArrayOutputStream</a></dt>
<dd>
<div class="block">Closing a <tt>ByteArrayOutputStream</tt> has no effect.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/CloseShieldOutputStream.html#close()">close()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/CloseShieldOutputStream.html" title="class in org.apache.commons.io.output">CloseShieldOutputStream</a></dt>
<dd>
<div class="block">Replaces the underlying output stream with a <a href="./org/apache/commons/io/output/ClosedOutputStream.html" title="class in org.apache.commons.io.output"><code>ClosedOutputStream</code></a>
 sentinel.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/DeferredFileOutputStream.html#close()">close()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/DeferredFileOutputStream.html" title="class in org.apache.commons.io.output">DeferredFileOutputStream</a></dt>
<dd>
<div class="block">Closes underlying output stream, and mark this as closed</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/DemuxOutputStream.html#close()">close()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/DemuxOutputStream.html" title="class in org.apache.commons.io.output">DemuxOutputStream</a></dt>
<dd>
<div class="block">Closes stream associated with current thread.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/FileWriterWithEncoding.html#close()">close()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/FileWriterWithEncoding.html" title="class in org.apache.commons.io.output">FileWriterWithEncoding</a></dt>
<dd>
<div class="block">Close the stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/LockableFileWriter.html#close()">close()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/LockableFileWriter.html" title="class in org.apache.commons.io.output">LockableFileWriter</a></dt>
<dd>
<div class="block">Closes the file writer and deletes the lockfile (if possible).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/NullWriter.html#close()">close()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/NullWriter.html" title="class in org.apache.commons.io.output">NullWriter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ProxyOutputStream.html#close()">close()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ProxyOutputStream.html" title="class in org.apache.commons.io.output">ProxyOutputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>close()</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ProxyWriter.html#close()">close()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ProxyWriter.html" title="class in org.apache.commons.io.output">ProxyWriter</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>close()</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/StringBuilderWriter.html#close()">close()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/StringBuilderWriter.html" title="class in org.apache.commons.io.output">StringBuilderWriter</a></dt>
<dd>
<div class="block">Closing this writer has no effect.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/TeeOutputStream.html#close()">close()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/TeeOutputStream.html" title="class in org.apache.commons.io.output">TeeOutputStream</a></dt>
<dd>
<div class="block">Closes both output streams.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ThresholdingOutputStream.html#close()">close()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ThresholdingOutputStream.html" title="class in org.apache.commons.io.output">ThresholdingOutputStream</a></dt>
<dd>
<div class="block">Closes this output stream and releases any system resources associated
 with this stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/WriterOutputStream.html#close()">close()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/WriterOutputStream.html" title="class in org.apache.commons.io.output">WriterOutputStream</a></dt>
<dd>
<div class="block">Close the stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/XmlStreamWriter.html#close()">close()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/XmlStreamWriter.html" title="class in org.apache.commons.io.output">XmlStreamWriter</a></dt>
<dd>
<div class="block">Close the underlying writer.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ClosedInputStream.html#CLOSED_INPUT_STREAM">CLOSED_INPUT_STREAM</a></span> - Static variable in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ClosedInputStream.html" title="class in org.apache.commons.io.input">ClosedInputStream</a></dt>
<dd>
<div class="block">A singleton.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ClosedOutputStream.html#CLOSED_OUTPUT_STREAM">CLOSED_OUTPUT_STREAM</a></span> - Static variable in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ClosedOutputStream.html" title="class in org.apache.commons.io.output">ClosedOutputStream</a></dt>
<dd>
<div class="block">A singleton.</div>
</dd>
<dt><a href="./org/apache/commons/io/input/ClosedInputStream.html" title="class in org.apache.commons.io.input"><span class="strong">ClosedInputStream</span></a> - Class in <a href="./org/apache/commons/io/input/package-summary.html">org.apache.commons.io.input</a></dt>
<dd>
<div class="block">Closed input stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ClosedInputStream.html#ClosedInputStream()">ClosedInputStream()</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ClosedInputStream.html" title="class in org.apache.commons.io.input">ClosedInputStream</a></dt>
<dd>&nbsp;</dd>
<dt><a href="./org/apache/commons/io/output/ClosedOutputStream.html" title="class in org.apache.commons.io.output"><span class="strong">ClosedOutputStream</span></a> - Class in <a href="./org/apache/commons/io/output/package-summary.html">org.apache.commons.io.output</a></dt>
<dd>
<div class="block">Closed output stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ClosedOutputStream.html#ClosedOutputStream()">ClosedOutputStream()</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ClosedOutputStream.html" title="class in org.apache.commons.io.output">ClosedOutputStream</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#closeQuietly(java.io.Reader)">closeQuietly(Reader)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Closes an <code>Reader</code> unconditionally.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#closeQuietly(java.io.Writer)">closeQuietly(Writer)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Closes an <code>Writer</code> unconditionally.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#closeQuietly(java.io.InputStream)">closeQuietly(InputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Closes an <code>InputStream</code> unconditionally.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#closeQuietly(java.io.OutputStream)">closeQuietly(OutputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Closes an <code>OutputStream</code> unconditionally.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#closeQuietly(java.io.Closeable)">closeQuietly(Closeable)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Closes a <code>Closeable</code> unconditionally.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#closeQuietly(java.net.Socket)">closeQuietly(Socket)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Closes a <code>Socket</code> unconditionally.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#closeQuietly(java.nio.channels.Selector)">closeQuietly(Selector)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Closes a <code>Selector</code> unconditionally.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#closeQuietly(java.net.ServerSocket)">closeQuietly(ServerSocket)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Closes a <code>ServerSocket</code> unconditionally.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/LineIterator.html#closeQuietly(org.apache.commons.io.LineIterator)">closeQuietly(LineIterator)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/LineIterator.html" title="class in org.apache.commons.io">LineIterator</a></dt>
<dd>
<div class="block">Closes the iterator, handling null and ignoring exceptions.</div>
</dd>
<dt><a href="./org/apache/commons/io/input/CloseShieldInputStream.html" title="class in org.apache.commons.io.input"><span class="strong">CloseShieldInputStream</span></a> - Class in <a href="./org/apache/commons/io/input/package-summary.html">org.apache.commons.io.input</a></dt>
<dd>
<div class="block">Proxy stream that prevents the underlying input stream from being closed.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CloseShieldInputStream.html#CloseShieldInputStream(java.io.InputStream)">CloseShieldInputStream(InputStream)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CloseShieldInputStream.html" title="class in org.apache.commons.io.input">CloseShieldInputStream</a></dt>
<dd>
<div class="block">Creates a proxy that shields the given input stream from being
 closed.</div>
</dd>
<dt><a href="./org/apache/commons/io/output/CloseShieldOutputStream.html" title="class in org.apache.commons.io.output"><span class="strong">CloseShieldOutputStream</span></a> - Class in <a href="./org/apache/commons/io/output/package-summary.html">org.apache.commons.io.output</a></dt>
<dd>
<div class="block">Proxy stream that prevents the underlying output stream from being closed.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/CloseShieldOutputStream.html#CloseShieldOutputStream(java.io.OutputStream)">CloseShieldOutputStream(OutputStream)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/CloseShieldOutputStream.html" title="class in org.apache.commons.io.output">CloseShieldOutputStream</a></dt>
<dd>
<div class="block">Creates a proxy that shields the given output stream from being
 closed.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/CompositeFileComparator.html#compare(java.io.File, java.io.File)">compare(File, File)</a></span> - Method in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/CompositeFileComparator.html" title="class in org.apache.commons.io.comparator">CompositeFileComparator</a></dt>
<dd>
<div class="block">Compare the two files using delegate comparators.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/DefaultFileComparator.html#compare(java.io.File, java.io.File)">compare(File, File)</a></span> - Method in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/DefaultFileComparator.html" title="class in org.apache.commons.io.comparator">DefaultFileComparator</a></dt>
<dd>
<div class="block">Compare the two files using the <a href="http://download.oracle.com/javase/6/docs/api/java/io/File.html?is-external=true#compareTo(java.io.File)" title="class or interface in java.io"><code>File.compareTo(File)</code></a> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/DirectoryFileComparator.html#compare(java.io.File, java.io.File)">compare(File, File)</a></span> - Method in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/DirectoryFileComparator.html" title="class in org.apache.commons.io.comparator">DirectoryFileComparator</a></dt>
<dd>
<div class="block">Compare the two files using the <a href="http://download.oracle.com/javase/6/docs/api/java/io/File.html?is-external=true#isDirectory()" title="class or interface in java.io"><code>File.isDirectory()</code></a> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/ExtensionFileComparator.html#compare(java.io.File, java.io.File)">compare(File, File)</a></span> - Method in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/ExtensionFileComparator.html" title="class in org.apache.commons.io.comparator">ExtensionFileComparator</a></dt>
<dd>
<div class="block">Compare the extensions of two files the specified case sensitivity.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/LastModifiedFileComparator.html#compare(java.io.File, java.io.File)">compare(File, File)</a></span> - Method in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/LastModifiedFileComparator.html" title="class in org.apache.commons.io.comparator">LastModifiedFileComparator</a></dt>
<dd>
<div class="block">Compare the last the last modified date/time of two files.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/NameFileComparator.html#compare(java.io.File, java.io.File)">compare(File, File)</a></span> - Method in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/NameFileComparator.html" title="class in org.apache.commons.io.comparator">NameFileComparator</a></dt>
<dd>
<div class="block">Compare the names of two files with the specified case sensitivity.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/PathFileComparator.html#compare(java.io.File, java.io.File)">compare(File, File)</a></span> - Method in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/PathFileComparator.html" title="class in org.apache.commons.io.comparator">PathFileComparator</a></dt>
<dd>
<div class="block">Compare the paths of two files the specified case sensitivity.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/SizeFileComparator.html#compare(java.io.File, java.io.File)">compare(File, File)</a></span> - Method in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/SizeFileComparator.html" title="class in org.apache.commons.io.comparator">SizeFileComparator</a></dt>
<dd>
<div class="block">Compare the length of two files.</div>
</dd>
<dt><a href="./org/apache/commons/io/comparator/CompositeFileComparator.html" title="class in org.apache.commons.io.comparator"><span class="strong">CompositeFileComparator</span></a> - Class in <a href="./org/apache/commons/io/comparator/package-summary.html">org.apache.commons.io.comparator</a></dt>
<dd>
<div class="block">Compare two files using a set of delegate file <a href="http://download.oracle.com/javase/6/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util"><code>Comparator</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/CompositeFileComparator.html#CompositeFileComparator(java.util.Comparator...)">CompositeFileComparator(Comparator&lt;File&gt;...)</a></span> - Constructor for class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/CompositeFileComparator.html" title="class in org.apache.commons.io.comparator">CompositeFileComparator</a></dt>
<dd>
<div class="block">Create a composite comparator for the set of delegate comparators.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/CompositeFileComparator.html#CompositeFileComparator(java.lang.Iterable)">CompositeFileComparator(Iterable&lt;Comparator&lt;File&gt;&gt;)</a></span> - Constructor for class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/CompositeFileComparator.html" title="class in org.apache.commons.io.comparator">CompositeFileComparator</a></dt>
<dd>
<div class="block">Create a composite comparator for the set of delegate comparators.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#concat(java.lang.String, java.lang.String)">concat(String, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Concatenates a filename to a base path using normal command line style rules.</div>
</dd>
<dt><a href="./org/apache/commons/io/filefilter/ConditionalFileFilter.html" title="interface in org.apache.commons.io.filefilter"><span class="strong">ConditionalFileFilter</span></a> - Interface in <a href="./org/apache/commons/io/filefilter/package-summary.html">org.apache.commons.io.filefilter</a></dt>
<dd>
<div class="block">Defines operations for conditional file filters.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#contentEquals(java.io.File, java.io.File)">contentEquals(File, File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Compares the contents of two files to determine if they are equal or not.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#contentEquals(java.io.InputStream, java.io.InputStream)">contentEquals(InputStream, InputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Compares the contents of two Streams to determine if they are equal or
 not.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#contentEquals(java.io.Reader, java.io.Reader)">contentEquals(Reader, Reader)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Compares the contents of two Readers to determine if they are equal or
 not.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#contentEqualsIgnoreEOL(java.io.File, java.io.File, java.lang.String)">contentEqualsIgnoreEOL(File, File, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Compares the contents of two files to determine if they are equal or not.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#contentEqualsIgnoreEOL(java.io.Reader, java.io.Reader)">contentEqualsIgnoreEOL(Reader, Reader)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Compares the contents of two Readers to determine if they are equal or
 not, ignoring EOL characters.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#convertFileCollectionToFileArray(java.util.Collection)">convertFileCollectionToFileArray(Collection&lt;File&gt;)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Converts a Collection containing java.io.File instanced into array
 representation.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/CopyUtils.html#copy(byte[], java.io.OutputStream)">copy(byte[], OutputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/CopyUtils.html" title="class in org.apache.commons.io">CopyUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span></div>
<div class="block">Copy bytes from a <code>byte[]</code> to an <code>OutputStream</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/CopyUtils.html#copy(byte[], java.io.Writer)">copy(byte[], Writer)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/CopyUtils.html" title="class in org.apache.commons.io">CopyUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/CopyUtils.html#copy(byte[], java.io.Writer, java.lang.String)"><code>CopyUtils.copy(byte[], Writer, String)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/CopyUtils.html#copy(byte[], java.io.Writer, java.lang.String)">copy(byte[], Writer, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/CopyUtils.html" title="class in org.apache.commons.io">CopyUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span></div>
<div class="block">Copy and convert bytes from a <code>byte[]</code> to chars on a
 <code>Writer</code>, using the specified encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/CopyUtils.html#copy(java.io.InputStream, java.io.OutputStream)">copy(InputStream, OutputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/CopyUtils.html" title="class in org.apache.commons.io">CopyUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span></div>
<div class="block">Copy bytes from an <code>InputStream</code> to an
 <code>OutputStream</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/CopyUtils.html#copy(java.io.Reader, java.io.Writer)">copy(Reader, Writer)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/CopyUtils.html" title="class in org.apache.commons.io">CopyUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span></div>
<div class="block">Copy chars from a <code>Reader</code> to a <code>Writer</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/CopyUtils.html#copy(java.io.InputStream, java.io.Writer)">copy(InputStream, Writer)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/CopyUtils.html" title="class in org.apache.commons.io">CopyUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/CopyUtils.html#copy(java.io.InputStream, java.io.Writer, java.lang.String)"><code>CopyUtils.copy(InputStream, Writer, String)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/CopyUtils.html#copy(java.io.InputStream, java.io.Writer, java.lang.String)">copy(InputStream, Writer, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/CopyUtils.html" title="class in org.apache.commons.io">CopyUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span></div>
<div class="block">Copy and convert bytes from an <code>InputStream</code> to chars on a
 <code>Writer</code>, using the specified encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/CopyUtils.html#copy(java.io.Reader, java.io.OutputStream)">copy(Reader, OutputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/CopyUtils.html" title="class in org.apache.commons.io">CopyUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/CopyUtils.html#copy(java.io.Reader, java.io.OutputStream, java.lang.String)"><code>CopyUtils.copy(Reader, OutputStream, String)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/CopyUtils.html#copy(java.io.Reader, java.io.OutputStream, java.lang.String)">copy(Reader, OutputStream, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/CopyUtils.html" title="class in org.apache.commons.io">CopyUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span></div>
<div class="block">Serialize chars from a <code>Reader</code> to bytes on an
 <code>OutputStream</code>, and flush the <code>OutputStream</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/CopyUtils.html#copy(java.lang.String, java.io.OutputStream)">copy(String, OutputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/CopyUtils.html" title="class in org.apache.commons.io">CopyUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/CopyUtils.html#copy(java.lang.String, java.io.OutputStream, java.lang.String)"><code>CopyUtils.copy(String, OutputStream, String)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/CopyUtils.html#copy(java.lang.String, java.io.OutputStream, java.lang.String)">copy(String, OutputStream, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/CopyUtils.html" title="class in org.apache.commons.io">CopyUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span></div>
<div class="block">Serialize chars from a <code>String</code> to bytes on an
 <code>OutputStream</code>, and
 flush the <code>OutputStream</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/CopyUtils.html#copy(java.lang.String, java.io.Writer)">copy(String, Writer)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/CopyUtils.html" title="class in org.apache.commons.io">CopyUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span></div>
<div class="block">Copy chars from a <code>String</code> to a <code>Writer</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#copy(java.io.InputStream, java.io.OutputStream)">copy(InputStream, OutputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Copies bytes from an <code>InputStream</code> to an
 <code>OutputStream</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#copy(java.io.InputStream, java.io.OutputStream, int)">copy(InputStream, OutputStream, int)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Copies bytes from an <code>InputStream</code> to an <code>OutputStream</code> using an internal buffer of the
 given size.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#copy(java.io.InputStream, java.io.Writer)">copy(InputStream, Writer)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/IOUtils.html#copy(java.io.InputStream, java.io.Writer, java.nio.charset.Charset)"><code>IOUtils.copy(InputStream, Writer, Charset)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#copy(java.io.InputStream, java.io.Writer, java.nio.charset.Charset)">copy(InputStream, Writer, Charset)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Copies bytes from an <code>InputStream</code> to chars on a
 <code>Writer</code> using the specified character encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#copy(java.io.InputStream, java.io.Writer, java.lang.String)">copy(InputStream, Writer, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Copies bytes from an <code>InputStream</code> to chars on a
 <code>Writer</code> using the specified character encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#copy(java.io.Reader, java.io.Writer)">copy(Reader, Writer)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Copies chars from a <code>Reader</code> to a <code>Writer</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#copy(java.io.Reader, java.io.OutputStream)">copy(Reader, OutputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/IOUtils.html#copy(java.io.Reader, java.io.OutputStream, java.nio.charset.Charset)"><code>IOUtils.copy(Reader, OutputStream, Charset)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#copy(java.io.Reader, java.io.OutputStream, java.nio.charset.Charset)">copy(Reader, OutputStream, Charset)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Copies chars from a <code>Reader</code> to bytes on an
 <code>OutputStream</code> using the specified character encoding, and
 calling flush.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#copy(java.io.Reader, java.io.OutputStream, java.lang.String)">copy(Reader, OutputStream, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Copies chars from a <code>Reader</code> to bytes on an
 <code>OutputStream</code> using the specified character encoding, and
 calling flush.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#copyDirectory(java.io.File, java.io.File)">copyDirectory(File, File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Copies a whole directory to a new location preserving the file dates.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#copyDirectory(java.io.File, java.io.File, boolean)">copyDirectory(File, File, boolean)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Copies a whole directory to a new location.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#copyDirectory(java.io.File, java.io.File, java.io.FileFilter)">copyDirectory(File, File, FileFilter)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Copies a filtered directory to a new location preserving the file dates.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#copyDirectory(java.io.File, java.io.File, java.io.FileFilter, boolean)">copyDirectory(File, File, FileFilter, boolean)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Copies a filtered directory to a new location.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#copyDirectoryToDirectory(java.io.File, java.io.File)">copyDirectoryToDirectory(File, File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Copies a directory to within another directory preserving the file dates.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#copyFile(java.io.File, java.io.File)">copyFile(File, File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Copies a file to a new location preserving the file date.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#copyFile(java.io.File, java.io.File, boolean)">copyFile(File, File, boolean)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Copies a file to a new location.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#copyFile(java.io.File, java.io.OutputStream)">copyFile(File, OutputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Copy bytes from a <code>File</code> to an <code>OutputStream</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#copyFileToDirectory(java.io.File, java.io.File)">copyFileToDirectory(File, File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Copies a file to a directory preserving the file date.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#copyFileToDirectory(java.io.File, java.io.File, boolean)">copyFileToDirectory(File, File, boolean)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Copies a file to a directory optionally preserving the file date.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#copyInputStreamToFile(java.io.InputStream, java.io.File)">copyInputStreamToFile(InputStream, File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Copies bytes from an <a href="http://download.oracle.com/javase/6/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a> <code>source</code> to a file
 <code>destination</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#copyLarge(java.io.InputStream, java.io.OutputStream)">copyLarge(InputStream, OutputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Copies bytes from a large (over 2GB) <code>InputStream</code> to an
 <code>OutputStream</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#copyLarge(java.io.InputStream, java.io.OutputStream, byte[])">copyLarge(InputStream, OutputStream, byte[])</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Copies bytes from a large (over 2GB) <code>InputStream</code> to an
 <code>OutputStream</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#copyLarge(java.io.InputStream, java.io.OutputStream, long, long)">copyLarge(InputStream, OutputStream, long, long)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Copies some or all bytes from a large (over 2GB) <code>InputStream</code> to an
 <code>OutputStream</code>, optionally skipping input bytes.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#copyLarge(java.io.InputStream, java.io.OutputStream, long, long, byte[])">copyLarge(InputStream, OutputStream, long, long, byte[])</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Copies some or all bytes from a large (over 2GB) <code>InputStream</code> to an
 <code>OutputStream</code>, optionally skipping input bytes.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#copyLarge(java.io.Reader, java.io.Writer)">copyLarge(Reader, Writer)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Copies chars from a large (over 2GB) <code>Reader</code> to a <code>Writer</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#copyLarge(java.io.Reader, java.io.Writer, char[])">copyLarge(Reader, Writer, char[])</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Copies chars from a large (over 2GB) <code>Reader</code> to a <code>Writer</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#copyLarge(java.io.Reader, java.io.Writer, long, long)">copyLarge(Reader, Writer, long, long)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Copies some or all chars from a large (over 2GB) <code>InputStream</code> to an
 <code>OutputStream</code>, optionally skipping input chars.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#copyLarge(java.io.Reader, java.io.Writer, long, long, char[])">copyLarge(Reader, Writer, long, long, char[])</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Copies some or all chars from a large (over 2GB) <code>InputStream</code> to an
 <code>OutputStream</code>, optionally skipping input chars.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#copyToFile(java.io.InputStream, java.io.File)">copyToFile(InputStream, File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Copies bytes from an <a href="http://download.oracle.com/javase/6/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a> <code>source</code> to a file
 <code>destination</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#copyURLToFile(java.net.URL, java.io.File)">copyURLToFile(URL, File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Copies bytes from the URL <code>source</code> to a file
 <code>destination</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#copyURLToFile(java.net.URL, java.io.File, int, int)">copyURLToFile(URL, File, int, int)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Copies bytes from the URL <code>source</code> to a file
 <code>destination</code>.</div>
</dd>
<dt><a href="./org/apache/commons/io/CopyUtils.html" title="class in org.apache.commons.io"><span class="strong">CopyUtils</span></a> - Class in <a href="./org/apache/commons/io/package-summary.html">org.apache.commons.io</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>Use IOUtils. Will be removed in 2.0.
  Methods renamed to IOUtils.write() or IOUtils.copy().
  Null handling behaviour changed in IOUtils (null data does not
  throw NullPointerException).</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/CopyUtils.html#CopyUtils()">CopyUtils()</a></span> - Constructor for class org.apache.commons.io.<a href="./org/apache/commons/io/CopyUtils.html" title="class in org.apache.commons.io">CopyUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span></div>
<div class="block">Instances should NOT be constructed in standard programming.</div>
</dd>
<dt><a href="./org/apache/commons/io/input/CountingInputStream.html" title="class in org.apache.commons.io.input"><span class="strong">CountingInputStream</span></a> - Class in <a href="./org/apache/commons/io/input/package-summary.html">org.apache.commons.io.input</a></dt>
<dd>
<div class="block">A decorating input stream that counts the number of bytes that have passed
 through the stream so far.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CountingInputStream.html#CountingInputStream(java.io.InputStream)">CountingInputStream(InputStream)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CountingInputStream.html" title="class in org.apache.commons.io.input">CountingInputStream</a></dt>
<dd>
<div class="block">Constructs a new CountingInputStream.</div>
</dd>
<dt><a href="./org/apache/commons/io/output/CountingOutputStream.html" title="class in org.apache.commons.io.output"><span class="strong">CountingOutputStream</span></a> - Class in <a href="./org/apache/commons/io/output/package-summary.html">org.apache.commons.io.output</a></dt>
<dd>
<div class="block">A decorating output stream that counts the number of bytes that have passed
 through the stream so far.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/CountingOutputStream.html#CountingOutputStream(java.io.OutputStream)">CountingOutputStream(OutputStream)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/CountingOutputStream.html" title="class in org.apache.commons.io.output">CountingOutputStream</a></dt>
<dd>
<div class="block">Constructs a new CountingOutputStream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/Tailer.html#create(java.io.File, org.apache.commons.io.input.TailerListener, long, boolean, int)">create(File, TailerListener, long, boolean, int)</a></span> - Static method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/Tailer.html" title="class in org.apache.commons.io.input">Tailer</a></dt>
<dd>
<div class="block">Creates and starts a Tailer for the given file.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/Tailer.html#create(java.io.File, org.apache.commons.io.input.TailerListener, long, boolean, boolean, int)">create(File, TailerListener, long, boolean, boolean, int)</a></span> - Static method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/Tailer.html" title="class in org.apache.commons.io.input">Tailer</a></dt>
<dd>
<div class="block">Creates and starts a Tailer for the given file.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/Tailer.html#create(java.io.File, org.apache.commons.io.input.TailerListener, long, boolean)">create(File, TailerListener, long, boolean)</a></span> - Static method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/Tailer.html" title="class in org.apache.commons.io.input">Tailer</a></dt>
<dd>
<div class="block">Creates and starts a Tailer for the given file with default buffer size.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/Tailer.html#create(java.io.File, org.apache.commons.io.input.TailerListener, long, boolean, boolean)">create(File, TailerListener, long, boolean, boolean)</a></span> - Static method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/Tailer.html" title="class in org.apache.commons.io.input">Tailer</a></dt>
<dd>
<div class="block">Creates and starts a Tailer for the given file with default buffer size.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/Tailer.html#create(java.io.File, org.apache.commons.io.input.TailerListener, long)">create(File, TailerListener, long)</a></span> - Static method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/Tailer.html" title="class in org.apache.commons.io.input">Tailer</a></dt>
<dd>
<div class="block">Creates and starts a Tailer for the given file, starting at the beginning of the file</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/Tailer.html#create(java.io.File, org.apache.commons.io.input.TailerListener)">create(File, TailerListener)</a></span> - Static method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/Tailer.html" title="class in org.apache.commons.io.input">Tailer</a></dt>
<dd>
<div class="block">Creates and starts a Tailer for the given file, starting at the beginning of the file
 with the default delay of 1.0s</div>
</dd>
</dl>
<a name="_D_">
<!--   -->
</a>
<h2 class="title">D</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/DefaultFileComparator.html#DEFAULT_COMPARATOR">DEFAULT_COMPARATOR</a></span> - Static variable in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/DefaultFileComparator.html" title="class in org.apache.commons.io.comparator">DefaultFileComparator</a></dt>
<dd>
<div class="block">Singleton default comparator instance</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/DefaultFileComparator.html#DEFAULT_REVERSE">DEFAULT_REVERSE</a></span> - Static variable in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/DefaultFileComparator.html" title="class in org.apache.commons.io.comparator">DefaultFileComparator</a></dt>
<dd>
<div class="block">Singleton reverse default comparator instance</div>
</dd>
<dt><a href="./org/apache/commons/io/comparator/DefaultFileComparator.html" title="class in org.apache.commons.io.comparator"><span class="strong">DefaultFileComparator</span></a> - Class in <a href="./org/apache/commons/io/comparator/package-summary.html">org.apache.commons.io.comparator</a></dt>
<dd>
<div class="block">Compare two files using the <b>default</b> <a href="http://download.oracle.com/javase/6/docs/api/java/io/File.html?is-external=true#compareTo(java.io.File)" title="class or interface in java.io"><code>File.compareTo(File)</code></a> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/DefaultFileComparator.html#DefaultFileComparator()">DefaultFileComparator()</a></span> - Constructor for class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/DefaultFileComparator.html" title="class in org.apache.commons.io.comparator">DefaultFileComparator</a></dt>
<dd>&nbsp;</dd>
<dt><a href="./org/apache/commons/io/output/DeferredFileOutputStream.html" title="class in org.apache.commons.io.output"><span class="strong">DeferredFileOutputStream</span></a> - Class in <a href="./org/apache/commons/io/output/package-summary.html">org.apache.commons.io.output</a></dt>
<dd>
<div class="block">An output stream which will retain data in memory until a specified
 threshold is reached, and only then commit it to disk.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/DeferredFileOutputStream.html#DeferredFileOutputStream(int, java.io.File)">DeferredFileOutputStream(int, File)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/DeferredFileOutputStream.html" title="class in org.apache.commons.io.output">DeferredFileOutputStream</a></dt>
<dd>
<div class="block">Constructs an instance of this class which will trigger an event at the
 specified threshold, and save data to a file beyond that point.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/DeferredFileOutputStream.html#DeferredFileOutputStream(int, java.lang.String, java.lang.String, java.io.File)">DeferredFileOutputStream(int, String, String, File)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/DeferredFileOutputStream.html" title="class in org.apache.commons.io.output">DeferredFileOutputStream</a></dt>
<dd>
<div class="block">Constructs an instance of this class which will trigger an event at the
 specified threshold, and save data to a temporary file beyond that point.</div>
</dd>
<dt><a href="./org/apache/commons/io/filefilter/DelegateFileFilter.html" title="class in org.apache.commons.io.filefilter"><span class="strong">DelegateFileFilter</span></a> - Class in <a href="./org/apache/commons/io/filefilter/package-summary.html">org.apache.commons.io.filefilter</a></dt>
<dd>
<div class="block">This class turns a Java FileFilter or FilenameFilter into an IO FileFilter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/DelegateFileFilter.html#DelegateFileFilter(java.io.FilenameFilter)">DelegateFileFilter(FilenameFilter)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/DelegateFileFilter.html" title="class in org.apache.commons.io.filefilter">DelegateFileFilter</a></dt>
<dd>
<div class="block">Constructs a delegate file filter around an existing FilenameFilter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/DelegateFileFilter.html#DelegateFileFilter(java.io.FileFilter)">DelegateFileFilter(FileFilter)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/DelegateFileFilter.html" title="class in org.apache.commons.io.filefilter">DelegateFileFilter</a></dt>
<dd>
<div class="block">Constructs a delegate file filter around an existing FileFilter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileDeleteStrategy.html#delete(java.io.File)">delete(File)</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileDeleteStrategy.html" title="class in org.apache.commons.io">FileDeleteStrategy</a></dt>
<dd>
<div class="block">Deletes the file object, which may be a file or a directory.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#deleteDirectory(java.io.File)">deleteDirectory(File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Deletes a directory recursively.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileDeleteStrategy.html#deleteQuietly(java.io.File)">deleteQuietly(File)</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileDeleteStrategy.html" title="class in org.apache.commons.io">FileDeleteStrategy</a></dt>
<dd>
<div class="block">Deletes the file object, which may be a file or a directory.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#deleteQuietly(java.io.File)">deleteQuietly(File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Deletes a file, never throwing an exception.</div>
</dd>
<dt><a href="./org/apache/commons/io/input/DemuxInputStream.html" title="class in org.apache.commons.io.input"><span class="strong">DemuxInputStream</span></a> - Class in <a href="./org/apache/commons/io/input/package-summary.html">org.apache.commons.io.input</a></dt>
<dd>
<div class="block">Data written to this stream is forwarded to a stream that has been associated
 with this thread.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/DemuxInputStream.html#DemuxInputStream()">DemuxInputStream()</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/DemuxInputStream.html" title="class in org.apache.commons.io.input">DemuxInputStream</a></dt>
<dd>&nbsp;</dd>
<dt><a href="./org/apache/commons/io/output/DemuxOutputStream.html" title="class in org.apache.commons.io.output"><span class="strong">DemuxOutputStream</span></a> - Class in <a href="./org/apache/commons/io/output/package-summary.html">org.apache.commons.io.output</a></dt>
<dd>
<div class="block">Data written to this stream is forwarded to a stream that has been associated
 with this thread.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/DemuxOutputStream.html#DemuxOutputStream()">DemuxOutputStream()</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/DemuxOutputStream.html" title="class in org.apache.commons.io.output">DemuxOutputStream</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationObserver.html#destroy()">destroy()</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationObserver.html" title="class in org.apache.commons.io.monitor">FileAlterationObserver</a></dt>
<dd>
<div class="block">Final processing.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#DIR_SEPARATOR">DIR_SEPARATOR</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">The system directory separator character.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#DIR_SEPARATOR_UNIX">DIR_SEPARATOR_UNIX</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">The Unix directory separator character.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#DIR_SEPARATOR_WINDOWS">DIR_SEPARATOR_WINDOWS</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">The Windows directory separator character.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/DirectoryFileFilter.html#DIRECTORY">DIRECTORY</a></span> - Static variable in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/DirectoryFileFilter.html" title="class in org.apache.commons.io.filefilter">DirectoryFileFilter</a></dt>
<dd>
<div class="block">Singleton instance of directory filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/DirectoryFileComparator.html#DIRECTORY_COMPARATOR">DIRECTORY_COMPARATOR</a></span> - Static variable in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/DirectoryFileComparator.html" title="class in org.apache.commons.io.comparator">DirectoryFileComparator</a></dt>
<dd>
<div class="block">Singleton default comparator instance</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/DirectoryFileComparator.html#DIRECTORY_REVERSE">DIRECTORY_REVERSE</a></span> - Static variable in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/DirectoryFileComparator.html" title="class in org.apache.commons.io.comparator">DirectoryFileComparator</a></dt>
<dd>
<div class="block">Singleton reverse default comparator instance</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#directoryContains(java.lang.String, java.lang.String)">directoryContains(String, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Determines whether the <code>parent</code> directory contains the <code>child</code> element (a file or directory).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#directoryContains(java.io.File, java.io.File)">directoryContains(File, File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Determines whether the <code>parent</code> directory contains the <code>child</code> element (a file or directory).</div>
</dd>
<dt><a href="./org/apache/commons/io/comparator/DirectoryFileComparator.html" title="class in org.apache.commons.io.comparator"><span class="strong">DirectoryFileComparator</span></a> - Class in <a href="./org/apache/commons/io/comparator/package-summary.html">org.apache.commons.io.comparator</a></dt>
<dd>
<div class="block">Compare two files using the <a href="http://download.oracle.com/javase/6/docs/api/java/io/File.html?is-external=true#isDirectory()" title="class or interface in java.io"><code>File.isDirectory()</code></a> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/DirectoryFileComparator.html#DirectoryFileComparator()">DirectoryFileComparator()</a></span> - Constructor for class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/DirectoryFileComparator.html" title="class in org.apache.commons.io.comparator">DirectoryFileComparator</a></dt>
<dd>&nbsp;</dd>
<dt><a href="./org/apache/commons/io/filefilter/DirectoryFileFilter.html" title="class in org.apache.commons.io.filefilter"><span class="strong">DirectoryFileFilter</span></a> - Class in <a href="./org/apache/commons/io/filefilter/package-summary.html">org.apache.commons.io.filefilter</a></dt>
<dd>
<div class="block">This filter accepts <code>File</code>s that are directories.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/DirectoryFileFilter.html#DirectoryFileFilter()">DirectoryFileFilter()</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/DirectoryFileFilter.html" title="class in org.apache.commons.io.filefilter">DirectoryFileFilter</a></dt>
<dd>
<div class="block">Restrictive consructor.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#directoryFileFilter()">directoryFileFilter()</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Returns a filter that checks if the file is a directory.</div>
</dd>
<dt><a href="./org/apache/commons/io/DirectoryWalker.html" title="class in org.apache.commons.io"><span class="strong">DirectoryWalker</span></a>&lt;<a href="./org/apache/commons/io/DirectoryWalker.html" title="type parameter in DirectoryWalker">T</a>&gt; - Class in <a href="./org/apache/commons/io/package-summary.html">org.apache.commons.io</a></dt>
<dd>
<div class="block">Abstract class that walks through a directory hierarchy and provides
 subclasses with convenient hooks to add specific behaviour.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/DirectoryWalker.html#DirectoryWalker()">DirectoryWalker()</a></span> - Constructor for class org.apache.commons.io.<a href="./org/apache/commons/io/DirectoryWalker.html" title="class in org.apache.commons.io">DirectoryWalker</a></dt>
<dd>
<div class="block">Construct an instance with no filtering and unlimited <i>depth</i>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/DirectoryWalker.html#DirectoryWalker(java.io.FileFilter, int)">DirectoryWalker(FileFilter, int)</a></span> - Constructor for class org.apache.commons.io.<a href="./org/apache/commons/io/DirectoryWalker.html" title="class in org.apache.commons.io">DirectoryWalker</a></dt>
<dd>
<div class="block">Construct an instance with a filter and limit the <i>depth</i> navigated to.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/DirectoryWalker.html#DirectoryWalker(org.apache.commons.io.filefilter.IOFileFilter, org.apache.commons.io.filefilter.IOFileFilter, int)">DirectoryWalker(IOFileFilter, IOFileFilter, int)</a></span> - Constructor for class org.apache.commons.io.<a href="./org/apache/commons/io/DirectoryWalker.html" title="class in org.apache.commons.io">DirectoryWalker</a></dt>
<dd>
<div class="block">Construct an instance with a directory and a file filter and an optional
 limit on the <i>depth</i> navigated to.</div>
</dd>
<dt><a href="./org/apache/commons/io/DirectoryWalker.CancelException.html" title="class in org.apache.commons.io"><span class="strong">DirectoryWalker.CancelException</span></a> - Exception in <a href="./org/apache/commons/io/package-summary.html">org.apache.commons.io</a></dt>
<dd>
<div class="block">CancelException is thrown in DirectoryWalker to cancel the current
 processing.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/DirectoryWalker.CancelException.html#DirectoryWalker.CancelException(java.io.File, int)">DirectoryWalker.CancelException(File, int)</a></span> - Constructor for exception org.apache.commons.io.<a href="./org/apache/commons/io/DirectoryWalker.CancelException.html" title="class in org.apache.commons.io">DirectoryWalker.CancelException</a></dt>
<dd>
<div class="block">Constructs a <code>CancelException</code> with
 the file and depth when cancellation occurred.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/DirectoryWalker.CancelException.html#DirectoryWalker.CancelException(java.lang.String, java.io.File, int)">DirectoryWalker.CancelException(String, File, int)</a></span> - Constructor for exception org.apache.commons.io.<a href="./org/apache/commons/io/DirectoryWalker.CancelException.html" title="class in org.apache.commons.io">DirectoryWalker.CancelException</a></dt>
<dd>
<div class="block">Constructs a <code>CancelException</code> with
 an appropriate message and the file and depth when
 cancellation occurred.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileDeleteStrategy.html#doDelete(java.io.File)">doDelete(File)</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileDeleteStrategy.html" title="class in org.apache.commons.io">FileDeleteStrategy</a></dt>
<dd>
<div class="block">Actually deletes the file object, which may be a file or a directory.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/HexDump.html#dump(byte[], long, java.io.OutputStream, int)">dump(byte[], long, OutputStream, int)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/HexDump.html" title="class in org.apache.commons.io">HexDump</a></dt>
<dd>
<div class="block">Dump an array of bytes to an OutputStream.</div>
</dd>
</dl>
<a name="_E_">
<!--   -->
</a>
<h2 class="title">E</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/EmptyFileFilter.html#EMPTY">EMPTY</a></span> - Static variable in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/EmptyFileFilter.html" title="class in org.apache.commons.io.filefilter">EmptyFileFilter</a></dt>
<dd>
<div class="block">Singleton instance of <i>empty</i> filter</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#EMPTY_FILE_ARRAY">EMPTY_FILE_ARRAY</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">An empty array of type <code>File</code>.</div>
</dd>
<dt><a href="./org/apache/commons/io/filefilter/EmptyFileFilter.html" title="class in org.apache.commons.io.filefilter"><span class="strong">EmptyFileFilter</span></a> - Class in <a href="./org/apache/commons/io/filefilter/package-summary.html">org.apache.commons.io.filefilter</a></dt>
<dd>
<div class="block">This filter accepts files or directories that are empty.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/EmptyFileFilter.html#EmptyFileFilter()">EmptyFileFilter()</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/EmptyFileFilter.html" title="class in org.apache.commons.io.filefilter">EmptyFileFilter</a></dt>
<dd>
<div class="block">Restrictive consructor.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/XmlStreamReader.html#ENCODING_PATTERN">ENCODING_PATTERN</a></span> - Static variable in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/XmlStreamReader.html" title="class in org.apache.commons.io.input">XmlStreamReader</a></dt>
<dd>&nbsp;</dd>
<dt><a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io"><span class="strong">EndianUtils</span></a> - Class in <a href="./org/apache/commons/io/package-summary.html">org.apache.commons.io</a></dt>
<dd>
<div class="block">Utility code for dealing with different endian systems.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#EndianUtils()">EndianUtils()</a></span> - Constructor for class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Instances should NOT be constructed in standard programming.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/HexDump.html#EOL">EOL</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/HexDump.html" title="class in org.apache.commons.io">HexDump</a></dt>
<dd>
<div class="block">The line-separator (initializes to "line.separator" system property.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/ByteOrderMark.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/ByteOrderMark.html" title="class in org.apache.commons.io">ByteOrderMark</a></dt>
<dd>
<div class="block">Indicates if this BOM's bytes equals another.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#equals(java.lang.String, java.lang.String)">equals(String, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Checks whether two filenames are equal exactly.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#equals(java.lang.String, java.lang.String, boolean, org.apache.commons.io.IOCase)">equals(String, String, boolean, IOCase)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Checks whether two filenames are equal, optionally normalizing and providing
 control over the case-sensitivity.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#equalsNormalized(java.lang.String, java.lang.String)">equalsNormalized(String, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Checks whether two filenames are equal after both have been normalized.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#equalsNormalizedOnSystem(java.lang.String, java.lang.String)">equalsNormalizedOnSystem(String, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Checks whether two filenames are equal after both have been normalized
 and using the case rules of the system.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#equalsOnSystem(java.lang.String, java.lang.String)">equalsOnSystem(String, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Checks whether two filenames are equal using the case rules of the system.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileCleaner.html#exitWhenFinished()">exitWhenFinished()</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileCleaner.html" title="class in org.apache.commons.io">FileCleaner</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>Use <a href="./org/apache/commons/io/FileCleaningTracker.html#exitWhenFinished()"><code>FileCleaningTracker.exitWhenFinished()</code></a>.</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileCleaningTracker.html#exitWhenFinished()">exitWhenFinished()</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileCleaningTracker.html" title="class in org.apache.commons.io">FileCleaningTracker</a></dt>
<dd>
<div class="block">Call this method to cause the file cleaner thread to terminate when
 there are no more objects being tracked for deletion.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/ExtensionFileComparator.html#EXTENSION_COMPARATOR">EXTENSION_COMPARATOR</a></span> - Static variable in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/ExtensionFileComparator.html" title="class in org.apache.commons.io.comparator">ExtensionFileComparator</a></dt>
<dd>
<div class="block">Case-sensitive extension comparator instance (see <a href="./org/apache/commons/io/IOCase.html#SENSITIVE"><code>IOCase.SENSITIVE</code></a>)</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/ExtensionFileComparator.html#EXTENSION_INSENSITIVE_COMPARATOR">EXTENSION_INSENSITIVE_COMPARATOR</a></span> - Static variable in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/ExtensionFileComparator.html" title="class in org.apache.commons.io.comparator">ExtensionFileComparator</a></dt>
<dd>
<div class="block">Case-insensitive extension comparator instance (see <a href="./org/apache/commons/io/IOCase.html#INSENSITIVE"><code>IOCase.INSENSITIVE</code></a>)</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/ExtensionFileComparator.html#EXTENSION_INSENSITIVE_REVERSE">EXTENSION_INSENSITIVE_REVERSE</a></span> - Static variable in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/ExtensionFileComparator.html" title="class in org.apache.commons.io.comparator">ExtensionFileComparator</a></dt>
<dd>
<div class="block">Reverse case-insensitive extension comparator instance (see <a href="./org/apache/commons/io/IOCase.html#INSENSITIVE"><code>IOCase.INSENSITIVE</code></a>)</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/ExtensionFileComparator.html#EXTENSION_REVERSE">EXTENSION_REVERSE</a></span> - Static variable in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/ExtensionFileComparator.html" title="class in org.apache.commons.io.comparator">ExtensionFileComparator</a></dt>
<dd>
<div class="block">Reverse case-sensitive extension comparator instance (see <a href="./org/apache/commons/io/IOCase.html#SENSITIVE"><code>IOCase.SENSITIVE</code></a>)</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#EXTENSION_SEPARATOR">EXTENSION_SEPARATOR</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">The extension separator character.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#EXTENSION_SEPARATOR_STR">EXTENSION_SEPARATOR_STR</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">The extension separator String.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/ExtensionFileComparator.html#EXTENSION_SYSTEM_COMPARATOR">EXTENSION_SYSTEM_COMPARATOR</a></span> - Static variable in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/ExtensionFileComparator.html" title="class in org.apache.commons.io.comparator">ExtensionFileComparator</a></dt>
<dd>
<div class="block">System sensitive extension comparator instance (see <a href="./org/apache/commons/io/IOCase.html#SYSTEM"><code>IOCase.SYSTEM</code></a>)</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/ExtensionFileComparator.html#EXTENSION_SYSTEM_REVERSE">EXTENSION_SYSTEM_REVERSE</a></span> - Static variable in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/ExtensionFileComparator.html" title="class in org.apache.commons.io.comparator">ExtensionFileComparator</a></dt>
<dd>
<div class="block">Reverse system sensitive path comparator instance (see <a href="./org/apache/commons/io/IOCase.html#SYSTEM"><code>IOCase.SYSTEM</code></a>)</div>
</dd>
<dt><a href="./org/apache/commons/io/comparator/ExtensionFileComparator.html" title="class in org.apache.commons.io.comparator"><span class="strong">ExtensionFileComparator</span></a> - Class in <a href="./org/apache/commons/io/comparator/package-summary.html">org.apache.commons.io.comparator</a></dt>
<dd>
<div class="block">Compare the file name <b>extensions</b> for order
 (see <a href="./org/apache/commons/io/FilenameUtils.html#getExtension(java.lang.String)"><code>FilenameUtils.getExtension(String)</code></a>).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/ExtensionFileComparator.html#ExtensionFileComparator()">ExtensionFileComparator()</a></span> - Constructor for class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/ExtensionFileComparator.html" title="class in org.apache.commons.io.comparator">ExtensionFileComparator</a></dt>
<dd>
<div class="block">Construct a case sensitive file extension comparator instance.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/ExtensionFileComparator.html#ExtensionFileComparator(org.apache.commons.io.IOCase)">ExtensionFileComparator(IOCase)</a></span> - Constructor for class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/ExtensionFileComparator.html" title="class in org.apache.commons.io.comparator">ExtensionFileComparator</a></dt>
<dd>
<div class="block">Construct a file extension comparator instance with the specified case-sensitivity.</div>
</dd>
</dl>
<a name="_F_">
<!--   -->
</a>
<h2 class="title">F</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FalseFileFilter.html#FALSE">FALSE</a></span> - Static variable in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FalseFileFilter.html" title="class in org.apache.commons.io.filefilter">FalseFileFilter</a></dt>
<dd>
<div class="block">Singleton instance of false filter.</div>
</dd>
<dt><a href="./org/apache/commons/io/filefilter/FalseFileFilter.html" title="class in org.apache.commons.io.filefilter"><span class="strong">FalseFileFilter</span></a> - Class in <a href="./org/apache/commons/io/filefilter/package-summary.html">org.apache.commons.io.filefilter</a></dt>
<dd>
<div class="block">A file filter that always returns false.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FalseFileFilter.html#FalseFileFilter()">FalseFileFilter()</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FalseFileFilter.html" title="class in org.apache.commons.io.filefilter">FalseFileFilter</a></dt>
<dd>
<div class="block">Restrictive consructor.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#falseFileFilter()">falseFileFilter()</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Returns a filter that always returns false.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFileFilter.html#FILE">FILE</a></span> - Static variable in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFileFilter.html" title="class in org.apache.commons.io.filefilter">FileFileFilter</a></dt>
<dd>
<div class="block">Singleton instance of file filter</div>
</dd>
<dt><a href="./org/apache/commons/io/monitor/FileAlterationListener.html" title="interface in org.apache.commons.io.monitor"><span class="strong">FileAlterationListener</span></a> - Interface in <a href="./org/apache/commons/io/monitor/package-summary.html">org.apache.commons.io.monitor</a></dt>
<dd>
<div class="block">A listener that receives events of file system modifications.</div>
</dd>
<dt><a href="./org/apache/commons/io/monitor/FileAlterationListenerAdaptor.html" title="class in org.apache.commons.io.monitor"><span class="strong">FileAlterationListenerAdaptor</span></a> - Class in <a href="./org/apache/commons/io/monitor/package-summary.html">org.apache.commons.io.monitor</a></dt>
<dd>
<div class="block">Convenience <a href="./org/apache/commons/io/monitor/FileAlterationListener.html" title="interface in org.apache.commons.io.monitor"><code>FileAlterationListener</code></a> implementation that does nothing.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationListenerAdaptor.html#FileAlterationListenerAdaptor()">FileAlterationListenerAdaptor()</a></span> - Constructor for class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationListenerAdaptor.html" title="class in org.apache.commons.io.monitor">FileAlterationListenerAdaptor</a></dt>
<dd>&nbsp;</dd>
<dt><a href="./org/apache/commons/io/monitor/FileAlterationMonitor.html" title="class in org.apache.commons.io.monitor"><span class="strong">FileAlterationMonitor</span></a> - Class in <a href="./org/apache/commons/io/monitor/package-summary.html">org.apache.commons.io.monitor</a></dt>
<dd>
<div class="block">A runnable that spawns a monitoring thread triggering any
 registered <a href="./org/apache/commons/io/monitor/FileAlterationObserver.html" title="class in org.apache.commons.io.monitor"><code>FileAlterationObserver</code></a> at a specified interval.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationMonitor.html#FileAlterationMonitor()">FileAlterationMonitor()</a></span> - Constructor for class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationMonitor.html" title="class in org.apache.commons.io.monitor">FileAlterationMonitor</a></dt>
<dd>
<div class="block">Construct a monitor with a default interval of 10 seconds.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationMonitor.html#FileAlterationMonitor(long)">FileAlterationMonitor(long)</a></span> - Constructor for class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationMonitor.html" title="class in org.apache.commons.io.monitor">FileAlterationMonitor</a></dt>
<dd>
<div class="block">Construct a monitor with the specified interval.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationMonitor.html#FileAlterationMonitor(long, org.apache.commons.io.monitor.FileAlterationObserver...)">FileAlterationMonitor(long, FileAlterationObserver...)</a></span> - Constructor for class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationMonitor.html" title="class in org.apache.commons.io.monitor">FileAlterationMonitor</a></dt>
<dd>
<div class="block">Construct a monitor with the specified interval and set of observers.</div>
</dd>
<dt><a href="./org/apache/commons/io/monitor/FileAlterationObserver.html" title="class in org.apache.commons.io.monitor"><span class="strong">FileAlterationObserver</span></a> - Class in <a href="./org/apache/commons/io/monitor/package-summary.html">org.apache.commons.io.monitor</a></dt>
<dd>
<div class="block">FileAlterationObserver represents the state of files below a root directory,
 checking the filesystem and notifying listeners of create, change or
 delete events.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationObserver.html#FileAlterationObserver(java.lang.String)">FileAlterationObserver(String)</a></span> - Constructor for class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationObserver.html" title="class in org.apache.commons.io.monitor">FileAlterationObserver</a></dt>
<dd>
<div class="block">Construct an observer for the specified directory.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationObserver.html#FileAlterationObserver(java.lang.String, java.io.FileFilter)">FileAlterationObserver(String, FileFilter)</a></span> - Constructor for class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationObserver.html" title="class in org.apache.commons.io.monitor">FileAlterationObserver</a></dt>
<dd>
<div class="block">Construct an observer for the specified directory and file filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationObserver.html#FileAlterationObserver(java.lang.String, java.io.FileFilter, org.apache.commons.io.IOCase)">FileAlterationObserver(String, FileFilter, IOCase)</a></span> - Constructor for class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationObserver.html" title="class in org.apache.commons.io.monitor">FileAlterationObserver</a></dt>
<dd>
<div class="block">Construct an observer for the specified directory, file filter and
 file comparator.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationObserver.html#FileAlterationObserver(java.io.File)">FileAlterationObserver(File)</a></span> - Constructor for class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationObserver.html" title="class in org.apache.commons.io.monitor">FileAlterationObserver</a></dt>
<dd>
<div class="block">Construct an observer for the specified directory.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationObserver.html#FileAlterationObserver(java.io.File, java.io.FileFilter)">FileAlterationObserver(File, FileFilter)</a></span> - Constructor for class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationObserver.html" title="class in org.apache.commons.io.monitor">FileAlterationObserver</a></dt>
<dd>
<div class="block">Construct an observer for the specified directory and file filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationObserver.html#FileAlterationObserver(java.io.File, java.io.FileFilter, org.apache.commons.io.IOCase)">FileAlterationObserver(File, FileFilter, IOCase)</a></span> - Constructor for class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationObserver.html" title="class in org.apache.commons.io.monitor">FileAlterationObserver</a></dt>
<dd>
<div class="block">Construct an observer for the specified directory, file filter and
 file comparator.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationObserver.html#FileAlterationObserver(org.apache.commons.io.monitor.FileEntry, java.io.FileFilter, org.apache.commons.io.IOCase)">FileAlterationObserver(FileEntry, FileFilter, IOCase)</a></span> - Constructor for class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationObserver.html" title="class in org.apache.commons.io.monitor">FileAlterationObserver</a></dt>
<dd>
<div class="block">Construct an observer for the specified directory, file filter and
 file comparator.</div>
</dd>
<dt><a href="./org/apache/commons/io/FileCleaner.html" title="class in org.apache.commons.io"><span class="strong">FileCleaner</span></a> - Class in <a href="./org/apache/commons/io/package-summary.html">org.apache.commons.io</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>Use <a href="./org/apache/commons/io/FileCleaningTracker.html" title="class in org.apache.commons.io"><code>FileCleaningTracker</code></a></i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileCleaner.html#FileCleaner()">FileCleaner()</a></span> - Constructor for class org.apache.commons.io.<a href="./org/apache/commons/io/FileCleaner.html" title="class in org.apache.commons.io">FileCleaner</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span></div>
&nbsp;</dd>
<dt><a href="./org/apache/commons/io/FileCleaningTracker.html" title="class in org.apache.commons.io"><span class="strong">FileCleaningTracker</span></a> - Class in <a href="./org/apache/commons/io/package-summary.html">org.apache.commons.io</a></dt>
<dd>
<div class="block">Keeps track of files awaiting deletion, and deletes them when an associated
 marker object is reclaimed by the garbage collector.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileCleaningTracker.html#FileCleaningTracker()">FileCleaningTracker()</a></span> - Constructor for class org.apache.commons.io.<a href="./org/apache/commons/io/FileCleaningTracker.html" title="class in org.apache.commons.io">FileCleaningTracker</a></dt>
<dd>&nbsp;</dd>
<dt><a href="./org/apache/commons/io/FileDeleteStrategy.html" title="class in org.apache.commons.io"><span class="strong">FileDeleteStrategy</span></a> - Class in <a href="./org/apache/commons/io/package-summary.html">org.apache.commons.io</a></dt>
<dd>
<div class="block">Strategy for deleting files.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileDeleteStrategy.html#FileDeleteStrategy(java.lang.String)">FileDeleteStrategy(String)</a></span> - Constructor for class org.apache.commons.io.<a href="./org/apache/commons/io/FileDeleteStrategy.html" title="class in org.apache.commons.io">FileDeleteStrategy</a></dt>
<dd>
<div class="block">Restricted constructor.</div>
</dd>
<dt><a href="./org/apache/commons/io/monitor/FileEntry.html" title="class in org.apache.commons.io.monitor"><span class="strong">FileEntry</span></a> - Class in <a href="./org/apache/commons/io/monitor/package-summary.html">org.apache.commons.io.monitor</a></dt>
<dd>
<div class="block"><a href="./org/apache/commons/io/monitor/FileEntry.html" title="class in org.apache.commons.io.monitor"><code>FileEntry</code></a> represents the state of a file or directory, capturing
 the following <a href="http://download.oracle.com/javase/6/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io"><code>File</code></a> attributes at a point in time.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileEntry.html#FileEntry(java.io.File)">FileEntry(File)</a></span> - Constructor for class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileEntry.html" title="class in org.apache.commons.io.monitor">FileEntry</a></dt>
<dd>
<div class="block">Construct a new monitor for a specified <a href="http://download.oracle.com/javase/6/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io"><code>File</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileEntry.html#FileEntry(org.apache.commons.io.monitor.FileEntry, java.io.File)">FileEntry(FileEntry, File)</a></span> - Constructor for class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileEntry.html" title="class in org.apache.commons.io.monitor">FileEntry</a></dt>
<dd>
<div class="block">Construct a new monitor for a specified <a href="http://download.oracle.com/javase/6/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io"><code>File</code></a>.</div>
</dd>
<dt><a href="./org/apache/commons/io/FileExistsException.html" title="class in org.apache.commons.io"><span class="strong">FileExistsException</span></a> - Exception in <a href="./org/apache/commons/io/package-summary.html">org.apache.commons.io</a></dt>
<dd>
<div class="block">Indicates that a file already exists.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileExistsException.html#FileExistsException()">FileExistsException()</a></span> - Constructor for exception org.apache.commons.io.<a href="./org/apache/commons/io/FileExistsException.html" title="class in org.apache.commons.io">FileExistsException</a></dt>
<dd>
<div class="block">Default Constructor.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileExistsException.html#FileExistsException(java.lang.String)">FileExistsException(String)</a></span> - Constructor for exception org.apache.commons.io.<a href="./org/apache/commons/io/FileExistsException.html" title="class in org.apache.commons.io">FileExistsException</a></dt>
<dd>
<div class="block">Construct an instance with the specified message.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileExistsException.html#FileExistsException(java.io.File)">FileExistsException(File)</a></span> - Constructor for exception org.apache.commons.io.<a href="./org/apache/commons/io/FileExistsException.html" title="class in org.apache.commons.io">FileExistsException</a></dt>
<dd>
<div class="block">Construct an instance with the specified file.</div>
</dd>
<dt><a href="./org/apache/commons/io/filefilter/FileFileFilter.html" title="class in org.apache.commons.io.filefilter"><span class="strong">FileFileFilter</span></a> - Class in <a href="./org/apache/commons/io/filefilter/package-summary.html">org.apache.commons.io.filefilter</a></dt>
<dd>
<div class="block">This filter accepts <code>File</code>s that are files (not directories).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFileFilter.html#FileFileFilter()">FileFileFilter()</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFileFilter.html" title="class in org.apache.commons.io.filefilter">FileFileFilter</a></dt>
<dd>
<div class="block">Restrictive consructor.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#fileFileFilter()">fileFileFilter()</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Returns a filter that checks if the file is a file (and not a directory).</div>
</dd>
<dt><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter"><span class="strong">FileFilterUtils</span></a> - Class in <a href="./org/apache/commons/io/filefilter/package-summary.html">org.apache.commons.io.filefilter</a></dt>
<dd>
<div class="block">Useful utilities for working with file filters.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#FileFilterUtils()">FileFilterUtils()</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">FileFilterUtils is not normally instantiated.</div>
</dd>
<dt><a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io"><span class="strong">FilenameUtils</span></a> - Class in <a href="./org/apache/commons/io/package-summary.html">org.apache.commons.io</a></dt>
<dd>
<div class="block">General filename and filepath manipulation utilities.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#FilenameUtils()">FilenameUtils()</a></span> - Constructor for class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Instances should NOT be constructed in standard programming.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/TailerListener.html#fileNotFound()">fileNotFound()</a></span> - Method in interface org.apache.commons.io.input.<a href="./org/apache/commons/io/input/TailerListener.html" title="interface in org.apache.commons.io.input">TailerListener</a></dt>
<dd>
<div class="block">This method is called if the tailed file is not found.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/TailerListenerAdapter.html#fileNotFound()">fileNotFound()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/TailerListenerAdapter.html" title="class in org.apache.commons.io.input">TailerListenerAdapter</a></dt>
<dd>
<div class="block">This method is called if the tailed file is not found.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/TailerListener.html#fileRotated()">fileRotated()</a></span> - Method in interface org.apache.commons.io.input.<a href="./org/apache/commons/io/input/TailerListener.html" title="interface in org.apache.commons.io.input">TailerListener</a></dt>
<dd>
<div class="block">Called if a file rotation is detected.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/TailerListenerAdapter.html#fileRotated()">fileRotated()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/TailerListenerAdapter.html" title="class in org.apache.commons.io.input">TailerListenerAdapter</a></dt>
<dd>
<div class="block">Called if a file rotation is detected.</div>
</dd>
<dt><a href="./org/apache/commons/io/FileSystemUtils.html" title="class in org.apache.commons.io"><span class="strong">FileSystemUtils</span></a> - Class in <a href="./org/apache/commons/io/package-summary.html">org.apache.commons.io</a></dt>
<dd>
<div class="block">General File System utilities.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileSystemUtils.html#FileSystemUtils()">FileSystemUtils()</a></span> - Constructor for class org.apache.commons.io.<a href="./org/apache/commons/io/FileSystemUtils.html" title="class in org.apache.commons.io">FileSystemUtils</a></dt>
<dd>
<div class="block">Instances should NOT be constructed in standard programming.</div>
</dd>
<dt><a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io"><span class="strong">FileUtils</span></a> - Class in <a href="./org/apache/commons/io/package-summary.html">org.apache.commons.io</a></dt>
<dd>
<div class="block">General file manipulation utilities.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#FileUtils()">FileUtils()</a></span> - Constructor for class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Instances should NOT be constructed in standard programming.</div>
</dd>
<dt><a href="./org/apache/commons/io/output/FileWriterWithEncoding.html" title="class in org.apache.commons.io.output"><span class="strong">FileWriterWithEncoding</span></a> - Class in <a href="./org/apache/commons/io/output/package-summary.html">org.apache.commons.io.output</a></dt>
<dd>
<div class="block">Writer of files that allows the encoding to be set.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/FileWriterWithEncoding.html#FileWriterWithEncoding(java.lang.String, java.lang.String)">FileWriterWithEncoding(String, String)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/FileWriterWithEncoding.html" title="class in org.apache.commons.io.output">FileWriterWithEncoding</a></dt>
<dd>
<div class="block">Constructs a FileWriterWithEncoding with a file encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/FileWriterWithEncoding.html#FileWriterWithEncoding(java.lang.String, java.lang.String, boolean)">FileWriterWithEncoding(String, String, boolean)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/FileWriterWithEncoding.html" title="class in org.apache.commons.io.output">FileWriterWithEncoding</a></dt>
<dd>
<div class="block">Constructs a FileWriterWithEncoding with a file encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/FileWriterWithEncoding.html#FileWriterWithEncoding(java.lang.String, java.nio.charset.Charset)">FileWriterWithEncoding(String, Charset)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/FileWriterWithEncoding.html" title="class in org.apache.commons.io.output">FileWriterWithEncoding</a></dt>
<dd>
<div class="block">Constructs a FileWriterWithEncoding with a file encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/FileWriterWithEncoding.html#FileWriterWithEncoding(java.lang.String, java.nio.charset.Charset, boolean)">FileWriterWithEncoding(String, Charset, boolean)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/FileWriterWithEncoding.html" title="class in org.apache.commons.io.output">FileWriterWithEncoding</a></dt>
<dd>
<div class="block">Constructs a FileWriterWithEncoding with a file encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/FileWriterWithEncoding.html#FileWriterWithEncoding(java.lang.String, java.nio.charset.CharsetEncoder)">FileWriterWithEncoding(String, CharsetEncoder)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/FileWriterWithEncoding.html" title="class in org.apache.commons.io.output">FileWriterWithEncoding</a></dt>
<dd>
<div class="block">Constructs a FileWriterWithEncoding with a file encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/FileWriterWithEncoding.html#FileWriterWithEncoding(java.lang.String, java.nio.charset.CharsetEncoder, boolean)">FileWriterWithEncoding(String, CharsetEncoder, boolean)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/FileWriterWithEncoding.html" title="class in org.apache.commons.io.output">FileWriterWithEncoding</a></dt>
<dd>
<div class="block">Constructs a FileWriterWithEncoding with a file encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/FileWriterWithEncoding.html#FileWriterWithEncoding(java.io.File, java.lang.String)">FileWriterWithEncoding(File, String)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/FileWriterWithEncoding.html" title="class in org.apache.commons.io.output">FileWriterWithEncoding</a></dt>
<dd>
<div class="block">Constructs a FileWriterWithEncoding with a file encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/FileWriterWithEncoding.html#FileWriterWithEncoding(java.io.File, java.lang.String, boolean)">FileWriterWithEncoding(File, String, boolean)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/FileWriterWithEncoding.html" title="class in org.apache.commons.io.output">FileWriterWithEncoding</a></dt>
<dd>
<div class="block">Constructs a FileWriterWithEncoding with a file encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/FileWriterWithEncoding.html#FileWriterWithEncoding(java.io.File, java.nio.charset.Charset)">FileWriterWithEncoding(File, Charset)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/FileWriterWithEncoding.html" title="class in org.apache.commons.io.output">FileWriterWithEncoding</a></dt>
<dd>
<div class="block">Constructs a FileWriterWithEncoding with a file encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/FileWriterWithEncoding.html#FileWriterWithEncoding(java.io.File, java.nio.charset.Charset, boolean)">FileWriterWithEncoding(File, Charset, boolean)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/FileWriterWithEncoding.html" title="class in org.apache.commons.io.output">FileWriterWithEncoding</a></dt>
<dd>
<div class="block">Constructs a FileWriterWithEncoding with a file encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/FileWriterWithEncoding.html#FileWriterWithEncoding(java.io.File, java.nio.charset.CharsetEncoder)">FileWriterWithEncoding(File, CharsetEncoder)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/FileWriterWithEncoding.html" title="class in org.apache.commons.io.output">FileWriterWithEncoding</a></dt>
<dd>
<div class="block">Constructs a FileWriterWithEncoding with a file encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/FileWriterWithEncoding.html#FileWriterWithEncoding(java.io.File, java.nio.charset.CharsetEncoder, boolean)">FileWriterWithEncoding(File, CharsetEncoder, boolean)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/FileWriterWithEncoding.html" title="class in org.apache.commons.io.output">FileWriterWithEncoding</a></dt>
<dd>
<div class="block">Constructs a FileWriterWithEncoding with a file encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#filter(org.apache.commons.io.filefilter.IOFileFilter, java.io.File...)">filter(IOFileFilter, File...)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">
 Applies an <a href="./org/apache/commons/io/filefilter/IOFileFilter.html" title="interface in org.apache.commons.io.filefilter"><code>IOFileFilter</code></a> to the provided <a href="http://download.oracle.com/javase/6/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io"><code>File</code></a>
 objects.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#filter(org.apache.commons.io.filefilter.IOFileFilter, java.lang.Iterable)">filter(IOFileFilter, Iterable&lt;File&gt;)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">
 Applies an <a href="./org/apache/commons/io/filefilter/IOFileFilter.html" title="interface in org.apache.commons.io.filefilter"><code>IOFileFilter</code></a> to the provided <a href="http://download.oracle.com/javase/6/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io"><code>File</code></a>
 objects.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/DirectoryWalker.html#filterDirectoryContents(java.io.File, int, java.io.File[])">filterDirectoryContents(File, int, File[])</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/DirectoryWalker.html" title="class in org.apache.commons.io">DirectoryWalker</a></dt>
<dd>
<div class="block">Overridable callback method invoked with the contents of each directory.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#filterList(org.apache.commons.io.filefilter.IOFileFilter, java.lang.Iterable)">filterList(IOFileFilter, Iterable&lt;File&gt;)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">
 Applies an <a href="./org/apache/commons/io/filefilter/IOFileFilter.html" title="interface in org.apache.commons.io.filefilter"><code>IOFileFilter</code></a> to the provided <a href="http://download.oracle.com/javase/6/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io"><code>File</code></a>
 objects.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#filterList(org.apache.commons.io.filefilter.IOFileFilter, java.io.File...)">filterList(IOFileFilter, File...)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">
 Applies an <a href="./org/apache/commons/io/filefilter/IOFileFilter.html" title="interface in org.apache.commons.io.filefilter"><code>IOFileFilter</code></a> to the provided <a href="http://download.oracle.com/javase/6/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io"><code>File</code></a>
 objects.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#filterSet(org.apache.commons.io.filefilter.IOFileFilter, java.io.File...)">filterSet(IOFileFilter, File...)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">
 Applies an <a href="./org/apache/commons/io/filefilter/IOFileFilter.html" title="interface in org.apache.commons.io.filefilter"><code>IOFileFilter</code></a> to the provided <a href="http://download.oracle.com/javase/6/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io"><code>File</code></a>
 objects.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#filterSet(org.apache.commons.io.filefilter.IOFileFilter, java.lang.Iterable)">filterSet(IOFileFilter, Iterable&lt;File&gt;)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">
 Applies an <a href="./org/apache/commons/io/filefilter/IOFileFilter.html" title="interface in org.apache.commons.io.filefilter"><code>IOFileFilter</code></a> to the provided <a href="http://download.oracle.com/javase/6/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io"><code>File</code></a>
 objects.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/AutoCloseInputStream.html#finalize()">finalize()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/AutoCloseInputStream.html" title="class in org.apache.commons.io.input">AutoCloseInputStream</a></dt>
<dd>
<div class="block">Ensures that the stream is closed before it gets garbage-collected.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/BrokenOutputStream.html#flush()">flush()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/BrokenOutputStream.html" title="class in org.apache.commons.io.output">BrokenOutputStream</a></dt>
<dd>
<div class="block">Throws the configured exception.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/DemuxOutputStream.html#flush()">flush()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/DemuxOutputStream.html" title="class in org.apache.commons.io.output">DemuxOutputStream</a></dt>
<dd>
<div class="block">Flushes stream associated with current thread.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/FileWriterWithEncoding.html#flush()">flush()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/FileWriterWithEncoding.html" title="class in org.apache.commons.io.output">FileWriterWithEncoding</a></dt>
<dd>
<div class="block">Flush the stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/LockableFileWriter.html#flush()">flush()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/LockableFileWriter.html" title="class in org.apache.commons.io.output">LockableFileWriter</a></dt>
<dd>
<div class="block">Flush the stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/NullWriter.html#flush()">flush()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/NullWriter.html" title="class in org.apache.commons.io.output">NullWriter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ProxyOutputStream.html#flush()">flush()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ProxyOutputStream.html" title="class in org.apache.commons.io.output">ProxyOutputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>flush()</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ProxyWriter.html#flush()">flush()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ProxyWriter.html" title="class in org.apache.commons.io.output">ProxyWriter</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>flush()</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/StringBuilderWriter.html#flush()">flush()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/StringBuilderWriter.html" title="class in org.apache.commons.io.output">StringBuilderWriter</a></dt>
<dd>
<div class="block">Flushing this writer has no effect.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/TeeOutputStream.html#flush()">flush()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/TeeOutputStream.html" title="class in org.apache.commons.io.output">TeeOutputStream</a></dt>
<dd>
<div class="block">Flushes both streams.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ThresholdingOutputStream.html#flush()">flush()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ThresholdingOutputStream.html" title="class in org.apache.commons.io.output">ThresholdingOutputStream</a></dt>
<dd>
<div class="block">Flushes this output stream and forces any buffered output bytes to be
 written out.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/WriterOutputStream.html#flush()">flush()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/WriterOutputStream.html" title="class in org.apache.commons.io.output">WriterOutputStream</a></dt>
<dd>
<div class="block">Flush the stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/XmlStreamWriter.html#flush()">flush()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/XmlStreamWriter.html" title="class in org.apache.commons.io.output">XmlStreamWriter</a></dt>
<dd>
<div class="block">Flush the underlying writer.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileDeleteStrategy.html#FORCE">FORCE</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/FileDeleteStrategy.html" title="class in org.apache.commons.io">FileDeleteStrategy</a></dt>
<dd>
<div class="block">The singleton instance for forced file deletion, which always deletes,
 even if the file represents a non-empty directory.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#forceDelete(java.io.File)">forceDelete(File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Deletes a file.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#forceDeleteOnExit(java.io.File)">forceDeleteOnExit(File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Schedules a file to be deleted when JVM exits.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#forceMkdir(java.io.File)">forceMkdir(File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Makes a directory, including any necessary but nonexistent parent
 directories.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#forceMkdirParent(java.io.File)">forceMkdirParent(File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Makes any necessary but nonexistent parent directories for a given File.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOCase.html#forName(java.lang.String)">forName(String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOCase.html" title="class in org.apache.commons.io">IOCase</a></dt>
<dd>
<div class="block">Factory method to create an IOCase from a name.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileSystemUtils.html#freeSpace(java.lang.String)">freeSpace(String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileSystemUtils.html" title="class in org.apache.commons.io">FileSystemUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>Use freeSpaceKb(String)
  Deprecated from 1.3, may be removed in 2.0</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileSystemUtils.html#freeSpaceKb(java.lang.String)">freeSpaceKb(String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileSystemUtils.html" title="class in org.apache.commons.io">FileSystemUtils</a></dt>
<dd>
<div class="block">Returns the free space on a drive or volume in kilobytes by invoking
 the command line.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileSystemUtils.html#freeSpaceKb(java.lang.String, long)">freeSpaceKb(String, long)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileSystemUtils.html" title="class in org.apache.commons.io">FileSystemUtils</a></dt>
<dd>
<div class="block">Returns the free space on a drive or volume in kilobytes by invoking
 the command line.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileSystemUtils.html#freeSpaceKb()">freeSpaceKb()</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileSystemUtils.html" title="class in org.apache.commons.io">FileSystemUtils</a></dt>
<dd>
<div class="block">Returns the disk size of the volume which holds the working directory.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileSystemUtils.html#freeSpaceKb(long)">freeSpaceKb(long)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileSystemUtils.html" title="class in org.apache.commons.io">FileSystemUtils</a></dt>
<dd>
<div class="block">Returns the disk size of the volume which holds the working directory.</div>
</dd>
</dl>
<a name="_G_">
<!--   -->
</a>
<h2 class="title">G</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/commons/io/ByteOrderMark.html#get(int)">get(int)</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/ByteOrderMark.html" title="class in org.apache.commons.io">ByteOrderMark</a></dt>
<dd>
<div class="block">The byte at the specified position.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#getBaseName(java.lang.String)">getBaseName(String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Gets the base name, minus the full path and extension, from a full filename.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BOMInputStream.html#getBOM()">getBOM()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BOMInputStream.html" title="class in org.apache.commons.io.input">BOMInputStream</a></dt>
<dd>
<div class="block">Return the BOM (Byte Order Mark).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BOMInputStream.html#getBOMCharsetName()">getBOMCharsetName()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BOMInputStream.html" title="class in org.apache.commons.io.input">BOMInputStream</a></dt>
<dd>
<div class="block">Return the BOM charset Name - <a href="./org/apache/commons/io/ByteOrderMark.html#getCharsetName()"><code>ByteOrderMark.getCharsetName()</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/XmlStreamReaderException.html#getBomEncoding()">getBomEncoding()</a></span> - Method in exception org.apache.commons.io.input.<a href="./org/apache/commons/io/input/XmlStreamReaderException.html" title="class in org.apache.commons.io.input">XmlStreamReaderException</a></dt>
<dd>
<div class="block">Returns the BOM encoding found in the InputStream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/StringBuilderWriter.html#getBuilder()">getBuilder()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/StringBuilderWriter.html" title="class in org.apache.commons.io.output">StringBuilderWriter</a></dt>
<dd>
<div class="block">Return the underlying builder.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CountingInputStream.html#getByteCount()">getByteCount()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CountingInputStream.html" title="class in org.apache.commons.io.input">CountingInputStream</a></dt>
<dd>
<div class="block">The number of bytes that have passed through this stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/CountingOutputStream.html#getByteCount()">getByteCount()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/CountingOutputStream.html" title="class in org.apache.commons.io.output">CountingOutputStream</a></dt>
<dd>
<div class="block">The number of bytes that have passed through this stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ThresholdingOutputStream.html#getByteCount()">getByteCount()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ThresholdingOutputStream.html" title="class in org.apache.commons.io.output">ThresholdingOutputStream</a></dt>
<dd>
<div class="block">Returns the number of bytes that have been written to this output stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/ByteOrderMark.html#getBytes()">getBytes()</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/ByteOrderMark.html" title="class in org.apache.commons.io">ByteOrderMark</a></dt>
<dd>
<div class="block">Return a copy of the BOM's bytes.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/TaggedIOException.html#getCause()">getCause()</a></span> - Method in exception org.apache.commons.io.<a href="./org/apache/commons/io/TaggedIOException.html" title="class in org.apache.commons.io">TaggedIOException</a></dt>
<dd>
<div class="block">Returns the wrapped exception.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/ByteOrderMark.html#getCharsetName()">getCharsetName()</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/ByteOrderMark.html" title="class in org.apache.commons.io">ByteOrderMark</a></dt>
<dd>
<div class="block">Return the name of the <a href="http://download.oracle.com/javase/6/docs/api/java/nio/charset/Charset.html?is-external=true" title="class or interface in java.nio.charset"><code>Charset</code></a> the BOM represents.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileEntry.html#getChildren()">getChildren()</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileEntry.html" title="class in org.apache.commons.io.monitor">FileEntry</a></dt>
<dd>
<div class="block">Return the directory's files.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/XmlStreamReaderException.html#getContentTypeEncoding()">getContentTypeEncoding()</a></span> - Method in exception org.apache.commons.io.input.<a href="./org/apache/commons/io/input/XmlStreamReaderException.html" title="class in org.apache.commons.io.input">XmlStreamReaderException</a></dt>
<dd>
<div class="block">Returns the encoding in the content-type used to attempt determining the
 encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/XmlStreamReaderException.html#getContentTypeMime()">getContentTypeMime()</a></span> - Method in exception org.apache.commons.io.input.<a href="./org/apache/commons/io/input/XmlStreamReaderException.html" title="class in org.apache.commons.io.input">XmlStreamReaderException</a></dt>
<dd>
<div class="block">Returns the MIME type in the content-type used to attempt determining the
 encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CountingInputStream.html#getCount()">getCount()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CountingInputStream.html" title="class in org.apache.commons.io.input">CountingInputStream</a></dt>
<dd>
<div class="block">The number of bytes that have passed through this stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/CountingOutputStream.html#getCount()">getCount()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/CountingOutputStream.html" title="class in org.apache.commons.io.output">CountingOutputStream</a></dt>
<dd>
<div class="block">The number of bytes that have passed through this stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/DeferredFileOutputStream.html#getData()">getData()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/DeferredFileOutputStream.html" title="class in org.apache.commons.io.output">DeferredFileOutputStream</a></dt>
<dd>
<div class="block">Returns the data for this output stream as an array of bytes, assuming
 that the data has been retained in memory.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/XmlStreamReader.html#getDefaultEncoding()">getDefaultEncoding()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/XmlStreamReader.html" title="class in org.apache.commons.io.input">XmlStreamReader</a></dt>
<dd>
<div class="block">Returns the default encoding to use if none is set in HTTP content-type,
 XML prolog and the rules based on content-type are not adequate.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/XmlStreamWriter.html#getDefaultEncoding()">getDefaultEncoding()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/XmlStreamWriter.html" title="class in org.apache.commons.io.output">XmlStreamWriter</a></dt>
<dd>
<div class="block">Return the default encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/Tailer.html#getDelay()">getDelay()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/Tailer.html" title="class in org.apache.commons.io.input">Tailer</a></dt>
<dd>
<div class="block">Return the delay in milliseconds.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileCleaningTracker.html#getDeleteFailures()">getDeleteFailures()</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileCleaningTracker.html" title="class in org.apache.commons.io">FileCleaningTracker</a></dt>
<dd>
<div class="block">Return the file paths that failed to delete.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/DirectoryWalker.CancelException.html#getDepth()">getDepth()</a></span> - Method in exception org.apache.commons.io.<a href="./org/apache/commons/io/DirectoryWalker.CancelException.html" title="class in org.apache.commons.io">DirectoryWalker.CancelException</a></dt>
<dd>
<div class="block">Return the depth when the operation was cancelled.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationObserver.html#getDirectory()">getDirectory()</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationObserver.html" title="class in org.apache.commons.io.monitor">FileAlterationObserver</a></dt>
<dd>
<div class="block">Return the directory being observed.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/XmlStreamReader.html#getEncoding()">getEncoding()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/XmlStreamReader.html" title="class in org.apache.commons.io.input">XmlStreamReader</a></dt>
<dd>
<div class="block">Returns the charset encoding of the XmlStreamReader.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/XmlStreamWriter.html#getEncoding()">getEncoding()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/XmlStreamWriter.html" title="class in org.apache.commons.io.output">XmlStreamWriter</a></dt>
<dd>
<div class="block">Return the detected encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#getExtension(java.lang.String)">getExtension(String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Gets the extension of a filename.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/DirectoryWalker.CancelException.html#getFile()">getFile()</a></span> - Method in exception org.apache.commons.io.<a href="./org/apache/commons/io/DirectoryWalker.CancelException.html" title="class in org.apache.commons.io">DirectoryWalker.CancelException</a></dt>
<dd>
<div class="block">Return the file when the operation was cancelled.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#getFile(java.io.File, java.lang.String...)">getFile(File, String...)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Construct a file from the set of name elements.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#getFile(java.lang.String...)">getFile(String...)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Construct a file from the set of name elements.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/Tailer.html#getFile()">getFile()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/Tailer.html" title="class in org.apache.commons.io.input">Tailer</a></dt>
<dd>
<div class="block">Return the file.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileEntry.html#getFile()">getFile()</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileEntry.html" title="class in org.apache.commons.io.monitor">FileEntry</a></dt>
<dd>
<div class="block">Return the file being monitored.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/DeferredFileOutputStream.html#getFile()">getFile()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/DeferredFileOutputStream.html" title="class in org.apache.commons.io.output">DeferredFileOutputStream</a></dt>
<dd>
<div class="block">Returns either the output file specified in the constructor or
 the temporary file created or null.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationObserver.html#getFileFilter()">getFileFilter()</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationObserver.html" title="class in org.apache.commons.io.monitor">FileAlterationObserver</a></dt>
<dd>
<div class="block">Return the fileFilter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/AndFileFilter.html#getFileFilters()">getFileFilters()</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/AndFileFilter.html" title="class in org.apache.commons.io.filefilter">AndFileFilter</a></dt>
<dd>
<div class="block">Returns this conditional file filter's list of file filters.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/ConditionalFileFilter.html#getFileFilters()">getFileFilters()</a></span> - Method in interface org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/ConditionalFileFilter.html" title="interface in org.apache.commons.io.filefilter">ConditionalFileFilter</a></dt>
<dd>
<div class="block">Returns this conditional file filter's list of file filters.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/OrFileFilter.html#getFileFilters()">getFileFilters()</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/OrFileFilter.html" title="class in org.apache.commons.io.filefilter">OrFileFilter</a></dt>
<dd>
<div class="block">Returns this conditional file filter's list of file filters.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#getFullPath(java.lang.String)">getFullPath(String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Gets the full path from a full filename, which is the prefix + path.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#getFullPathNoEndSeparator(java.lang.String)">getFullPathNoEndSeparator(String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Gets the full path from a full filename, which is the prefix + path,
 and also excluding the final directory separator.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileCleaner.html#getInstance()">getInstance()</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileCleaner.html" title="class in org.apache.commons.io">FileCleaner</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span></div>
<div class="block">Returns the singleton instance, which is used by the deprecated, static methods.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationMonitor.html#getInterval()">getInterval()</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationMonitor.html" title="class in org.apache.commons.io.monitor">FileAlterationMonitor</a></dt>
<dd>
<div class="block">Return the interval.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileEntry.html#getLastModified()">getLastModified()</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileEntry.html" title="class in org.apache.commons.io.monitor">FileEntry</a></dt>
<dd>
<div class="block">Return the last modified time from the last time it
 was checked.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileEntry.html#getLength()">getLength()</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileEntry.html" title="class in org.apache.commons.io.monitor">FileEntry</a></dt>
<dd>
<div class="block">Return the length.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileEntry.html#getLevel()">getLevel()</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileEntry.html" title="class in org.apache.commons.io.monitor">FileEntry</a></dt>
<dd>
<div class="block">Return the level</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationObserver.html#getListeners()">getListeners()</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationObserver.html" title="class in org.apache.commons.io.monitor">FileAlterationObserver</a></dt>
<dd>
<div class="block">Returns the set of registered file system listeners.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#getName(java.lang.String)">getName(String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Gets the name minus the path from a full filename.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOCase.html#getName()">getName()</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOCase.html" title="class in org.apache.commons.io">IOCase</a></dt>
<dd>
<div class="block">Gets the name of the constant.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileEntry.html#getName()">getName()</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileEntry.html" title="class in org.apache.commons.io.monitor">FileEntry</a></dt>
<dd>
<div class="block">Return the file name.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationMonitor.html#getObservers()">getObservers()</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationMonitor.html" title="class in org.apache.commons.io.monitor">FileAlterationMonitor</a></dt>
<dd>
<div class="block">Returns the set of <a href="./org/apache/commons/io/monitor/FileAlterationObserver.html" title="class in org.apache.commons.io.monitor"><code>FileAlterationObserver</code></a> registered with
 this monitor.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileEntry.html#getParent()">getParent()</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileEntry.html" title="class in org.apache.commons.io.monitor">FileEntry</a></dt>
<dd>
<div class="block">Return the parent entry.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#getPath(java.lang.String)">getPath(String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Gets the path from a full filename, which excludes the prefix.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#getPathNoEndSeparator(java.lang.String)">getPathNoEndSeparator(String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Gets the path from a full filename, which excludes the prefix, and
 also excluding the final directory separator.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/NullInputStream.html#getPosition()">getPosition()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/NullInputStream.html" title="class in org.apache.commons.io.input">NullInputStream</a></dt>
<dd>
<div class="block">Return the current position.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/NullReader.html#getPosition()">getPosition()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/NullReader.html" title="class in org.apache.commons.io.input">NullReader</a></dt>
<dd>
<div class="block">Return the current position.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#getPrefix(java.lang.String)">getPrefix(String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Gets the prefix from a full filename, such as <code>C:/</code>
 or <code>~/</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#getPrefixLength(java.lang.String)">getPrefixLength(String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Returns the length of the filename prefix, such as <code>C:/</code> or <code>~/</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/Tailer.html#getRun()">getRun()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/Tailer.html" title="class in org.apache.commons.io.input">Tailer</a></dt>
<dd>
<div class="block">Gets whether to keep on running.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/NullInputStream.html#getSize()">getSize()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/NullInputStream.html" title="class in org.apache.commons.io.input">NullInputStream</a></dt>
<dd>
<div class="block">Return the size this <a href="http://download.oracle.com/javase/6/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a> emulates.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/NullReader.html#getSize()">getSize()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/NullReader.html" title="class in org.apache.commons.io.input">NullReader</a></dt>
<dd>
<div class="block">Return the size this <a href="http://download.oracle.com/javase/6/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io"><code>Reader</code></a> emulates.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/DeferredFileOutputStream.html#getStream()">getStream()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/DeferredFileOutputStream.html" title="class in org.apache.commons.io.output">DeferredFileOutputStream</a></dt>
<dd>
<div class="block">Returns the current output stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ThresholdingOutputStream.html#getStream()">getStream()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ThresholdingOutputStream.html" title="class in org.apache.commons.io.output">ThresholdingOutputStream</a></dt>
<dd>
<div class="block">Returns the underlying output stream, to which the corresponding
 <code>OutputStream</code> methods in this class will ultimately delegate.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/TaggedIOException.html#getTag()">getTag()</a></span> - Method in exception org.apache.commons.io.<a href="./org/apache/commons/io/TaggedIOException.html" title="class in org.apache.commons.io">TaggedIOException</a></dt>
<dd>
<div class="block">Returns the serializable tag object.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#getTempDirectory()">getTempDirectory()</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Returns a <a href="http://download.oracle.com/javase/6/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io"><code>File</code></a> representing the system temporary directory.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#getTempDirectoryPath()">getTempDirectoryPath()</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Returns the path to the system temporary directory.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ThresholdingOutputStream.html#getThreshold()">getThreshold()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ThresholdingOutputStream.html" title="class in org.apache.commons.io.output">ThresholdingOutputStream</a></dt>
<dd>
<div class="block">Returns the threshold, in bytes, at which an event will be triggered.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileCleaner.html#getTrackCount()">getTrackCount()</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileCleaner.html" title="class in org.apache.commons.io">FileCleaner</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>Use <a href="./org/apache/commons/io/FileCleaningTracker.html#getTrackCount()"><code>FileCleaningTracker.getTrackCount()</code></a>.</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileCleaningTracker.html#getTrackCount()">getTrackCount()</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileCleaningTracker.html" title="class in org.apache.commons.io">FileCleaningTracker</a></dt>
<dd>
<div class="block">Retrieve the number of files currently being tracked, and therefore
 awaiting deletion.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#getUserDirectory()">getUserDirectory()</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Returns a <a href="http://download.oracle.com/javase/6/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io"><code>File</code></a> representing the user's home directory.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#getUserDirectoryPath()">getUserDirectoryPath()</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Returns the path to the user's home directory.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/XmlStreamReaderException.html#getXmlEncoding()">getXmlEncoding()</a></span> - Method in exception org.apache.commons.io.input.<a href="./org/apache/commons/io/input/XmlStreamReaderException.html" title="class in org.apache.commons.io.input">XmlStreamReaderException</a></dt>
<dd>
<div class="block">Returns the encoding found in the XML prolog of the InputStream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/XmlStreamReaderException.html#getXmlGuessEncoding()">getXmlGuessEncoding()</a></span> - Method in exception org.apache.commons.io.input.<a href="./org/apache/commons/io/input/XmlStreamReaderException.html" title="class in org.apache.commons.io.input">XmlStreamReaderException</a></dt>
<dd>
<div class="block">Returns the encoding guess based on the first bytes of the InputStream.</div>
</dd>
</dl>
<a name="_H_">
<!--   -->
</a>
<h2 class="title">H</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/commons/io/input/TailerListener.html#handle(java.lang.String)">handle(String)</a></span> - Method in interface org.apache.commons.io.input.<a href="./org/apache/commons/io/input/TailerListener.html" title="interface in org.apache.commons.io.input">TailerListener</a></dt>
<dd>
<div class="block">Handles a line from a Tailer.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/TailerListener.html#handle(java.lang.Exception)">handle(Exception)</a></span> - Method in interface org.apache.commons.io.input.<a href="./org/apache/commons/io/input/TailerListener.html" title="interface in org.apache.commons.io.input">TailerListener</a></dt>
<dd>
<div class="block">Handles an Exception .</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/TailerListenerAdapter.html#handle(java.lang.String)">handle(String)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/TailerListenerAdapter.html" title="class in org.apache.commons.io.input">TailerListenerAdapter</a></dt>
<dd>
<div class="block">Handles a line from a Tailer.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/TailerListenerAdapter.html#handle(java.lang.Exception)">handle(Exception)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/TailerListenerAdapter.html" title="class in org.apache.commons.io.input">TailerListenerAdapter</a></dt>
<dd>
<div class="block">Handles an Exception .</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/DirectoryWalker.html#handleCancelled(java.io.File, java.util.Collection, org.apache.commons.io.DirectoryWalker.CancelException)">handleCancelled(File, Collection&lt;T&gt;, DirectoryWalker.CancelException)</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/DirectoryWalker.html" title="class in org.apache.commons.io">DirectoryWalker</a></dt>
<dd>
<div class="block">Overridable callback method invoked when the operation is cancelled.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/DirectoryWalker.html#handleDirectory(java.io.File, int, java.util.Collection)">handleDirectory(File, int, Collection&lt;T&gt;)</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/DirectoryWalker.html" title="class in org.apache.commons.io">DirectoryWalker</a></dt>
<dd>
<div class="block">Overridable callback method invoked to determine if a directory should be processed.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/DirectoryWalker.html#handleDirectoryEnd(java.io.File, int, java.util.Collection)">handleDirectoryEnd(File, int, Collection&lt;T&gt;)</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/DirectoryWalker.html" title="class in org.apache.commons.io">DirectoryWalker</a></dt>
<dd>
<div class="block">Overridable callback method invoked at the end of processing each directory.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/DirectoryWalker.html#handleDirectoryStart(java.io.File, int, java.util.Collection)">handleDirectoryStart(File, int, Collection&lt;T&gt;)</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/DirectoryWalker.html" title="class in org.apache.commons.io">DirectoryWalker</a></dt>
<dd>
<div class="block">Overridable callback method invoked at the start of processing each directory.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/DirectoryWalker.html#handleEnd(java.util.Collection)">handleEnd(Collection&lt;T&gt;)</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/DirectoryWalker.html" title="class in org.apache.commons.io">DirectoryWalker</a></dt>
<dd>
<div class="block">Overridable callback method invoked at the end of processing.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/DirectoryWalker.html#handleFile(java.io.File, int, java.util.Collection)">handleFile(File, int, Collection&lt;T&gt;)</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/DirectoryWalker.html" title="class in org.apache.commons.io">DirectoryWalker</a></dt>
<dd>
<div class="block">Overridable callback method invoked for each (non-directory) file.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ProxyInputStream.html#handleIOException(java.io.IOException)">handleIOException(IOException)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ProxyInputStream.html" title="class in org.apache.commons.io.input">ProxyInputStream</a></dt>
<dd>
<div class="block">Handle any IOExceptions thrown.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ProxyReader.html#handleIOException(java.io.IOException)">handleIOException(IOException)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ProxyReader.html" title="class in org.apache.commons.io.input">ProxyReader</a></dt>
<dd>
<div class="block">Handle any IOExceptions thrown.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/TaggedInputStream.html#handleIOException(java.io.IOException)">handleIOException(IOException)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/TaggedInputStream.html" title="class in org.apache.commons.io.input">TaggedInputStream</a></dt>
<dd>
<div class="block">Tags any IOExceptions thrown, wrapping and re-throwing.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ProxyOutputStream.html#handleIOException(java.io.IOException)">handleIOException(IOException)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ProxyOutputStream.html" title="class in org.apache.commons.io.output">ProxyOutputStream</a></dt>
<dd>
<div class="block">Handle any IOExceptions thrown.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ProxyWriter.html#handleIOException(java.io.IOException)">handleIOException(IOException)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ProxyWriter.html" title="class in org.apache.commons.io.output">ProxyWriter</a></dt>
<dd>
<div class="block">Handle any IOExceptions thrown.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/TaggedOutputStream.html#handleIOException(java.io.IOException)">handleIOException(IOException)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/TaggedOutputStream.html" title="class in org.apache.commons.io.output">TaggedOutputStream</a></dt>
<dd>
<div class="block">Tags any IOExceptions thrown, wrapping and re-throwing.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/DirectoryWalker.html#handleIsCancelled(java.io.File, int, java.util.Collection)">handleIsCancelled(File, int, Collection&lt;T&gt;)</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/DirectoryWalker.html" title="class in org.apache.commons.io">DirectoryWalker</a></dt>
<dd>
<div class="block">Overridable callback method invoked to determine if the entire walk
 operation should be immediately cancelled.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/DirectoryWalker.html#handleRestricted(java.io.File, int, java.util.Collection)">handleRestricted(File, int, Collection&lt;T&gt;)</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/DirectoryWalker.html" title="class in org.apache.commons.io">DirectoryWalker</a></dt>
<dd>
<div class="block">Overridable callback method invoked for each restricted directory.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/DirectoryWalker.html#handleStart(java.io.File, java.util.Collection)">handleStart(File, Collection&lt;T&gt;)</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/DirectoryWalker.html" title="class in org.apache.commons.io">DirectoryWalker</a></dt>
<dd>
<div class="block">Overridable callback method invoked at the start of processing.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BOMInputStream.html#hasBOM()">hasBOM()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BOMInputStream.html" title="class in org.apache.commons.io.input">BOMInputStream</a></dt>
<dd>
<div class="block">Indicates whether the stream contains one of the specified BOMs.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BOMInputStream.html#hasBOM(org.apache.commons.io.ByteOrderMark)">hasBOM(ByteOrderMark)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BOMInputStream.html" title="class in org.apache.commons.io.input">BOMInputStream</a></dt>
<dd>
<div class="block">Indicates whether the stream contains the specified BOM.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/ByteOrderMark.html#hashCode()">hashCode()</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/ByteOrderMark.html" title="class in org.apache.commons.io">ByteOrderMark</a></dt>
<dd>
<div class="block">Return the hashcode for this BOM.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/LineIterator.html#hasNext()">hasNext()</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/LineIterator.html" title="class in org.apache.commons.io">LineIterator</a></dt>
<dd>
<div class="block">Indicates whether the <code>Reader</code> has more lines.</div>
</dd>
<dt><a href="./org/apache/commons/io/HexDump.html" title="class in org.apache.commons.io"><span class="strong">HexDump</span></a> - Class in <a href="./org/apache/commons/io/package-summary.html">org.apache.commons.io</a></dt>
<dd>
<div class="block">Dumps data in hexadecimal format.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/HexDump.html#HexDump()">HexDump()</a></span> - Constructor for class org.apache.commons.io.<a href="./org/apache/commons/io/HexDump.html" title="class in org.apache.commons.io">HexDump</a></dt>
<dd>
<div class="block">Instances should NOT be constructed in standard programming.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/HiddenFileFilter.html#HIDDEN">HIDDEN</a></span> - Static variable in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/HiddenFileFilter.html" title="class in org.apache.commons.io.filefilter">HiddenFileFilter</a></dt>
<dd>
<div class="block">Singleton instance of <i>hidden</i> filter</div>
</dd>
<dt><a href="./org/apache/commons/io/filefilter/HiddenFileFilter.html" title="class in org.apache.commons.io.filefilter"><span class="strong">HiddenFileFilter</span></a> - Class in <a href="./org/apache/commons/io/filefilter/package-summary.html">org.apache.commons.io.filefilter</a></dt>
<dd>
<div class="block">This filter accepts <code>File</code>s that are hidden.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/HiddenFileFilter.html#HiddenFileFilter()">HiddenFileFilter()</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/HiddenFileFilter.html" title="class in org.apache.commons.io.filefilter">HiddenFileFilter</a></dt>
<dd>
<div class="block">Restrictive consructor.</div>
</dd>
</dl>
<a name="_I_">
<!--   -->
</a>
<h2 class="title">I</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#indexOfExtension(java.lang.String)">indexOfExtension(String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Returns the index of the last extension separator character, which is a dot.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#indexOfLastSeparator(java.lang.String)">indexOfLastSeparator(String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Returns the index of the last directory separator character.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/TailerListener.html#init(org.apache.commons.io.input.Tailer)">init(Tailer)</a></span> - Method in interface org.apache.commons.io.input.<a href="./org/apache/commons/io/input/TailerListener.html" title="interface in org.apache.commons.io.input">TailerListener</a></dt>
<dd>
<div class="block">The tailer will call this method during construction,
 giving the listener a method of stopping the tailer.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/TailerListenerAdapter.html#init(org.apache.commons.io.input.Tailer)">init(Tailer)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/TailerListenerAdapter.html" title="class in org.apache.commons.io.input">TailerListenerAdapter</a></dt>
<dd>
<div class="block">The tailer will call this method during construction,
 giving the listener a method of stopping the tailer.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationObserver.html#initialize()">initialize()</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationObserver.html" title="class in org.apache.commons.io.monitor">FileAlterationObserver</a></dt>
<dd>
<div class="block">Initialize the observer.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOCase.html#INSENSITIVE">INSENSITIVE</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/IOCase.html" title="class in org.apache.commons.io">IOCase</a></dt>
<dd>
<div class="block">The constant for case insensitive regardless of operating system.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/DirectoryFileFilter.html#INSTANCE">INSTANCE</a></span> - Static variable in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/DirectoryFileFilter.html" title="class in org.apache.commons.io.filefilter">DirectoryFileFilter</a></dt>
<dd>
<div class="block">Singleton instance of directory filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FalseFileFilter.html#INSTANCE">INSTANCE</a></span> - Static variable in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FalseFileFilter.html" title="class in org.apache.commons.io.filefilter">FalseFileFilter</a></dt>
<dd>
<div class="block">Singleton instance of false filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/TrueFileFilter.html#INSTANCE">INSTANCE</a></span> - Static variable in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/TrueFileFilter.html" title="class in org.apache.commons.io.filefilter">TrueFileFilter</a></dt>
<dd>
<div class="block">Singleton instance of true filter.</div>
</dd>
<dt><a href="./org/apache/commons/io/IOCase.html" title="class in org.apache.commons.io"><span class="strong">IOCase</span></a> - Class in <a href="./org/apache/commons/io/package-summary.html">org.apache.commons.io</a></dt>
<dd>
<div class="block">Enumeration of IO case sensitivity.</div>
</dd>
<dt><a href="./org/apache/commons/io/IOExceptionWithCause.html" title="class in org.apache.commons.io"><span class="strong">IOExceptionWithCause</span></a> - Exception in <a href="./org/apache/commons/io/package-summary.html">org.apache.commons.io</a></dt>
<dd>
<div class="block">Subclasses IOException with the <a href="http://download.oracle.com/javase/6/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><code>Throwable</code></a> constructors missing before Java 6.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOExceptionWithCause.html#IOExceptionWithCause(java.lang.String, java.lang.Throwable)">IOExceptionWithCause(String, Throwable)</a></span> - Constructor for exception org.apache.commons.io.<a href="./org/apache/commons/io/IOExceptionWithCause.html" title="class in org.apache.commons.io">IOExceptionWithCause</a></dt>
<dd>
<div class="block">Constructs a new instance with the given message and cause.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOExceptionWithCause.html#IOExceptionWithCause(java.lang.Throwable)">IOExceptionWithCause(Throwable)</a></span> - Constructor for exception org.apache.commons.io.<a href="./org/apache/commons/io/IOExceptionWithCause.html" title="class in org.apache.commons.io">IOExceptionWithCause</a></dt>
<dd>
<div class="block">Constructs a new instance with the given cause.</div>
</dd>
<dt><a href="./org/apache/commons/io/filefilter/IOFileFilter.html" title="interface in org.apache.commons.io.filefilter"><span class="strong">IOFileFilter</span></a> - Interface in <a href="./org/apache/commons/io/filefilter/package-summary.html">org.apache.commons.io.filefilter</a></dt>
<dd>
<div class="block">An interface which brings the FileFilter and FilenameFilter
 interfaces together.</div>
</dd>
<dt><a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io"><span class="strong">IOUtils</span></a> - Class in <a href="./org/apache/commons/io/package-summary.html">org.apache.commons.io</a></dt>
<dd>
<div class="block">General IO stream manipulation utilities.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#IOUtils()">IOUtils()</a></span> - Constructor for class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Instances should NOT be constructed in standard programming.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOCase.html#isCaseSensitive()">isCaseSensitive()</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOCase.html" title="class in org.apache.commons.io">IOCase</a></dt>
<dd>
<div class="block">Does the object represent case sensitive comparison.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/TaggedInputStream.html#isCauseOf(java.lang.Throwable)">isCauseOf(Throwable)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/TaggedInputStream.html" title="class in org.apache.commons.io.input">TaggedInputStream</a></dt>
<dd>
<div class="block">Tests if the given exception was caused by this stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/TaggedOutputStream.html#isCauseOf(java.lang.Exception)">isCauseOf(Exception)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/TaggedOutputStream.html" title="class in org.apache.commons.io.output">TaggedOutputStream</a></dt>
<dd>
<div class="block">Tests if the given exception was caused by this stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileEntry.html#isDirectory()">isDirectory()</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileEntry.html" title="class in org.apache.commons.io.monitor">FileEntry</a></dt>
<dd>
<div class="block">Indicate whether the file is a directory or not.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileEntry.html#isExists()">isExists()</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileEntry.html" title="class in org.apache.commons.io.monitor">FileEntry</a></dt>
<dd>
<div class="block">Indicate whether the file existed the last time it
 was checked.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#isExtension(java.lang.String, java.lang.String)">isExtension(String, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Checks whether the extension of the filename is that specified.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#isExtension(java.lang.String, java.lang.String[])">isExtension(String, String[])</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Checks whether the extension of the filename is one of those specified.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#isExtension(java.lang.String, java.util.Collection)">isExtension(String, Collection&lt;String&gt;)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Checks whether the extension of the filename is one of those specified.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#isFileNewer(java.io.File, java.io.File)">isFileNewer(File, File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Tests if the specified <code>File</code> is newer than the reference
 <code>File</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#isFileNewer(java.io.File, java.util.Date)">isFileNewer(File, Date)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Tests if the specified <code>File</code> is newer than the specified
 <code>Date</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#isFileNewer(java.io.File, long)">isFileNewer(File, long)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Tests if the specified <code>File</code> is newer than the specified
 time reference.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#isFileOlder(java.io.File, java.io.File)">isFileOlder(File, File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Tests if the specified <code>File</code> is older than the reference
 <code>File</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#isFileOlder(java.io.File, java.util.Date)">isFileOlder(File, Date)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Tests if the specified <code>File</code> is older than the specified
 <code>Date</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#isFileOlder(java.io.File, long)">isFileOlder(File, long)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Tests if the specified <code>File</code> is older than the specified
 time reference.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/DeferredFileOutputStream.html#isInMemory()">isInMemory()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/DeferredFileOutputStream.html" title="class in org.apache.commons.io.output">DeferredFileOutputStream</a></dt>
<dd>
<div class="block">Determines whether or not the data for this output stream has been
 retained in memory.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/Charsets.html#ISO_8859_1">ISO_8859_1</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/Charsets.html" title="class in org.apache.commons.io">Charsets</a></dt>
<dd>
<div class="block">CharEncodingISO Latin Alphabet No.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BoundedInputStream.html#isPropagateClose()">isPropagateClose()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BoundedInputStream.html" title="class in org.apache.commons.io.input">BoundedInputStream</a></dt>
<dd>
<div class="block">Indicates whether the <a href="./org/apache/commons/io/input/BoundedInputStream.html#close()"><code>BoundedInputStream.close()</code></a> method
 should propagate to the underling <a href="http://download.oracle.com/javase/6/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#isSymlink(java.io.File)">isSymlink(File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Determines whether the specified file is a Symbolic Link rather than an actual file.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/TaggedIOException.html#isTaggedWith(java.lang.Throwable, java.lang.Object)">isTaggedWith(Throwable, Object)</a></span> - Static method in exception org.apache.commons.io.<a href="./org/apache/commons/io/TaggedIOException.html" title="class in org.apache.commons.io">TaggedIOException</a></dt>
<dd>
<div class="block">Checks whether the given throwable is tagged with the given tag.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ThresholdingOutputStream.html#isThresholdExceeded()">isThresholdExceeded()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ThresholdingOutputStream.html" title="class in org.apache.commons.io.output">ThresholdingOutputStream</a></dt>
<dd>
<div class="block">Determines whether or not the configured threshold has been exceeded for
 this output stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/LineIterator.html#isValidLine(java.lang.String)">isValidLine(String)</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/LineIterator.html" title="class in org.apache.commons.io">LineIterator</a></dt>
<dd>
<div class="block">Overridable method to validate each line that is returned.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#iterateFiles(java.io.File, org.apache.commons.io.filefilter.IOFileFilter, org.apache.commons.io.filefilter.IOFileFilter)">iterateFiles(File, IOFileFilter, IOFileFilter)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Allows iteration over the files in given directory (and optionally
 its subdirectories).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#iterateFiles(java.io.File, java.lang.String[], boolean)">iterateFiles(File, String[], boolean)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Allows iteration over the files in a given directory (and optionally
 its subdirectories) which match an array of extensions.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#iterateFilesAndDirs(java.io.File, org.apache.commons.io.filefilter.IOFileFilter, org.apache.commons.io.filefilter.IOFileFilter)">iterateFilesAndDirs(File, IOFileFilter, IOFileFilter)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Allows iteration over the files in given directory (and optionally
 its subdirectories).</div>
</dd>
</dl>
<a name="_L_">
<!--   -->
</a>
<h2 class="title">L</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/LastModifiedFileComparator.html#LASTMODIFIED_COMPARATOR">LASTMODIFIED_COMPARATOR</a></span> - Static variable in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/LastModifiedFileComparator.html" title="class in org.apache.commons.io.comparator">LastModifiedFileComparator</a></dt>
<dd>
<div class="block">Last modified comparator instance</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/LastModifiedFileComparator.html#LASTMODIFIED_REVERSE">LASTMODIFIED_REVERSE</a></span> - Static variable in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/LastModifiedFileComparator.html" title="class in org.apache.commons.io.comparator">LastModifiedFileComparator</a></dt>
<dd>
<div class="block">Reverse last modified comparator instance</div>
</dd>
<dt><a href="./org/apache/commons/io/comparator/LastModifiedFileComparator.html" title="class in org.apache.commons.io.comparator"><span class="strong">LastModifiedFileComparator</span></a> - Class in <a href="./org/apache/commons/io/comparator/package-summary.html">org.apache.commons.io.comparator</a></dt>
<dd>
<div class="block">Compare the <b>last modified date/time</b> of two files for order 
 (see <a href="http://download.oracle.com/javase/6/docs/api/java/io/File.html?is-external=true#lastModified()" title="class or interface in java.io"><code>File.lastModified()</code></a>).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/LastModifiedFileComparator.html#LastModifiedFileComparator()">LastModifiedFileComparator()</a></span> - Constructor for class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/LastModifiedFileComparator.html" title="class in org.apache.commons.io.comparator">LastModifiedFileComparator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/ByteOrderMark.html#length()">length()</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/ByteOrderMark.html" title="class in org.apache.commons.io">ByteOrderMark</a></dt>
<dd>
<div class="block">Return the length of the BOM's bytes.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#LINE_SEPARATOR">LINE_SEPARATOR</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">The system line separator string.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#LINE_SEPARATOR_UNIX">LINE_SEPARATOR_UNIX</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">The Unix line separator string.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#LINE_SEPARATOR_WINDOWS">LINE_SEPARATOR_WINDOWS</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">The Windows line separator string.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#lineIterator(java.io.File, java.lang.String)">lineIterator(File, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Returns an Iterator for the lines in a <code>File</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#lineIterator(java.io.File)">lineIterator(File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Returns an Iterator for the lines in a <code>File</code> using the default encoding for the VM.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#lineIterator(java.io.Reader)">lineIterator(Reader)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Returns an Iterator for the lines in a <code>Reader</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#lineIterator(java.io.InputStream, java.nio.charset.Charset)">lineIterator(InputStream, Charset)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Returns an Iterator for the lines in an <code>InputStream</code>, using
 the character encoding specified (or default encoding if null).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#lineIterator(java.io.InputStream, java.lang.String)">lineIterator(InputStream, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Returns an Iterator for the lines in an <code>InputStream</code>, using
 the character encoding specified (or default encoding if null).</div>
</dd>
<dt><a href="./org/apache/commons/io/LineIterator.html" title="class in org.apache.commons.io"><span class="strong">LineIterator</span></a> - Class in <a href="./org/apache/commons/io/package-summary.html">org.apache.commons.io</a></dt>
<dd>
<div class="block">An Iterator over the lines in a <code>Reader</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/LineIterator.html#LineIterator(java.io.Reader)">LineIterator(Reader)</a></span> - Constructor for class org.apache.commons.io.<a href="./org/apache/commons/io/LineIterator.html" title="class in org.apache.commons.io">LineIterator</a></dt>
<dd>
<div class="block">Constructs an iterator of the lines for a <code>Reader</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#listFiles(java.io.File, org.apache.commons.io.filefilter.IOFileFilter, org.apache.commons.io.filefilter.IOFileFilter)">listFiles(File, IOFileFilter, IOFileFilter)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Finds files within a given directory (and optionally its
 subdirectories).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#listFiles(java.io.File, java.lang.String[], boolean)">listFiles(File, String[], boolean)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Finds files within a given directory (and optionally its subdirectories)
 which match an array of extensions.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#listFilesAndDirs(java.io.File, org.apache.commons.io.filefilter.IOFileFilter, org.apache.commons.io.filefilter.IOFileFilter)">listFilesAndDirs(File, IOFileFilter, IOFileFilter)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Finds files within a given directory (and optionally its
 subdirectories).</div>
</dd>
<dt><a href="./org/apache/commons/io/output/LockableFileWriter.html" title="class in org.apache.commons.io.output"><span class="strong">LockableFileWriter</span></a> - Class in <a href="./org/apache/commons/io/output/package-summary.html">org.apache.commons.io.output</a></dt>
<dd>
<div class="block">FileWriter that will create and honor lock files to allow simple
 cross thread file lock handling.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/LockableFileWriter.html#LockableFileWriter(java.lang.String)">LockableFileWriter(String)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/LockableFileWriter.html" title="class in org.apache.commons.io.output">LockableFileWriter</a></dt>
<dd>
<div class="block">Constructs a LockableFileWriter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/LockableFileWriter.html#LockableFileWriter(java.lang.String, boolean)">LockableFileWriter(String, boolean)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/LockableFileWriter.html" title="class in org.apache.commons.io.output">LockableFileWriter</a></dt>
<dd>
<div class="block">Constructs a LockableFileWriter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/LockableFileWriter.html#LockableFileWriter(java.lang.String, boolean, java.lang.String)">LockableFileWriter(String, boolean, String)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/LockableFileWriter.html" title="class in org.apache.commons.io.output">LockableFileWriter</a></dt>
<dd>
<div class="block">Constructs a LockableFileWriter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/LockableFileWriter.html#LockableFileWriter(java.io.File)">LockableFileWriter(File)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/LockableFileWriter.html" title="class in org.apache.commons.io.output">LockableFileWriter</a></dt>
<dd>
<div class="block">Constructs a LockableFileWriter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/LockableFileWriter.html#LockableFileWriter(java.io.File, boolean)">LockableFileWriter(File, boolean)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/LockableFileWriter.html" title="class in org.apache.commons.io.output">LockableFileWriter</a></dt>
<dd>
<div class="block">Constructs a LockableFileWriter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/LockableFileWriter.html#LockableFileWriter(java.io.File, boolean, java.lang.String)">LockableFileWriter(File, boolean, String)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/LockableFileWriter.html" title="class in org.apache.commons.io.output">LockableFileWriter</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/output/LockableFileWriter.html#LockableFileWriter(java.io.File, java.nio.charset.Charset, boolean, java.lang.String)"><code>LockableFileWriter.LockableFileWriter(File, Charset, boolean, String)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/LockableFileWriter.html#LockableFileWriter(java.io.File, java.nio.charset.Charset)">LockableFileWriter(File, Charset)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/LockableFileWriter.html" title="class in org.apache.commons.io.output">LockableFileWriter</a></dt>
<dd>
<div class="block">Constructs a LockableFileWriter with a file encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/LockableFileWriter.html#LockableFileWriter(java.io.File, java.lang.String)">LockableFileWriter(File, String)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/LockableFileWriter.html" title="class in org.apache.commons.io.output">LockableFileWriter</a></dt>
<dd>
<div class="block">Constructs a LockableFileWriter with a file encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/LockableFileWriter.html#LockableFileWriter(java.io.File, java.nio.charset.Charset, boolean, java.lang.String)">LockableFileWriter(File, Charset, boolean, String)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/LockableFileWriter.html" title="class in org.apache.commons.io.output">LockableFileWriter</a></dt>
<dd>
<div class="block">Constructs a LockableFileWriter with a file encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/LockableFileWriter.html#LockableFileWriter(java.io.File, java.lang.String, boolean, java.lang.String)">LockableFileWriter(File, String, boolean, String)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/LockableFileWriter.html" title="class in org.apache.commons.io.output">LockableFileWriter</a></dt>
<dd>
<div class="block">Constructs a LockableFileWriter with a file encoding.</div>
</dd>
</dl>
<a name="_M_">
<!--   -->
</a>
<h2 class="title">M</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#magicNumberFileFilter(java.lang.String)">magicNumberFileFilter(String)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Returns a filter that accepts files that begin with the provided magic
 number.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#magicNumberFileFilter(java.lang.String, long)">magicNumberFileFilter(String, long)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Returns a filter that accepts files that contains the provided magic
 number at a specified offset within the file.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#magicNumberFileFilter(byte[])">magicNumberFileFilter(byte[])</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Returns a filter that accepts files that begin with the provided magic
 number.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#magicNumberFileFilter(byte[], long)">magicNumberFileFilter(byte[], long)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Returns a filter that accepts files that contains the provided magic
 number at a specified offset within the file.</div>
</dd>
<dt><a href="./org/apache/commons/io/filefilter/MagicNumberFileFilter.html" title="class in org.apache.commons.io.filefilter"><span class="strong">MagicNumberFileFilter</span></a> - Class in <a href="./org/apache/commons/io/filefilter/package-summary.html">org.apache.commons.io.filefilter</a></dt>
<dd>
<div class="block">
 File filter for matching files containing a "magic number".</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/MagicNumberFileFilter.html#MagicNumberFileFilter(byte[])">MagicNumberFileFilter(byte[])</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/MagicNumberFileFilter.html" title="class in org.apache.commons.io.filefilter">MagicNumberFileFilter</a></dt>
<dd>
<div class="block">
 Constructs a new MagicNumberFileFilter and associates it with the magic
 number to test for in files.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/MagicNumberFileFilter.html#MagicNumberFileFilter(java.lang.String)">MagicNumberFileFilter(String)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/MagicNumberFileFilter.html" title="class in org.apache.commons.io.filefilter">MagicNumberFileFilter</a></dt>
<dd>
<div class="block">
 Constructs a new MagicNumberFileFilter and associates it with the magic
 number to test for in files.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/MagicNumberFileFilter.html#MagicNumberFileFilter(java.lang.String, long)">MagicNumberFileFilter(String, long)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/MagicNumberFileFilter.html" title="class in org.apache.commons.io.filefilter">MagicNumberFileFilter</a></dt>
<dd>
<div class="block">
 Constructs a new MagicNumberFileFilter and associates it with the magic
 number to test for in files and the byte offset location in the file to
 to look for that magic number.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/MagicNumberFileFilter.html#MagicNumberFileFilter(byte[], long)">MagicNumberFileFilter(byte[], long)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/MagicNumberFileFilter.html" title="class in org.apache.commons.io.filefilter">MagicNumberFileFilter</a></dt>
<dd>
<div class="block">
 Constructs a new MagicNumberFileFilter and associates it with the magic
 number to test for in files and the byte offset location in the file to
 to look for that magic number.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#makeCVSAware(org.apache.commons.io.filefilter.IOFileFilter)">makeCVSAware(IOFileFilter)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Decorates a filter to make it ignore CVS directories.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#makeDirectoryOnly(org.apache.commons.io.filefilter.IOFileFilter)">makeDirectoryOnly(IOFileFilter)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Decorates a filter so that it only applies to directories and not to files.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#makeFileOnly(org.apache.commons.io.filefilter.IOFileFilter)">makeFileOnly(IOFileFilter)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Decorates a filter so that it only applies to files and not to directories.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#makeSVNAware(org.apache.commons.io.filefilter.IOFileFilter)">makeSVNAware(IOFileFilter)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Decorates a filter to make it ignore SVN directories.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BOMInputStream.html#mark(int)">mark(int)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BOMInputStream.html" title="class in org.apache.commons.io.input">BOMInputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>mark(int)</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BoundedInputStream.html#mark(int)">mark(int)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BoundedInputStream.html" title="class in org.apache.commons.io.input">BoundedInputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>mark(int)</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CharSequenceInputStream.html#mark(int)">mark(int)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CharSequenceInputStream.html" title="class in org.apache.commons.io.input">CharSequenceInputStream</a></dt>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CharSequenceReader.html#mark(int)">mark(int)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CharSequenceReader.html" title="class in org.apache.commons.io.input">CharSequenceReader</a></dt>
<dd>
<div class="block">Mark the current position.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/NullInputStream.html#mark(int)">mark(int)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/NullInputStream.html" title="class in org.apache.commons.io.input">NullInputStream</a></dt>
<dd>
<div class="block">Mark the current position.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/NullReader.html#mark(int)">mark(int)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/NullReader.html" title="class in org.apache.commons.io.input">NullReader</a></dt>
<dd>
<div class="block">Mark the current position.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ProxyInputStream.html#mark(int)">mark(int)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ProxyInputStream.html" title="class in org.apache.commons.io.input">ProxyInputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>mark(int)</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ProxyReader.html#mark(int)">mark(int)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ProxyReader.html" title="class in org.apache.commons.io.input">ProxyReader</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>mark(int)</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BoundedInputStream.html#markSupported()">markSupported()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BoundedInputStream.html" title="class in org.apache.commons.io.input">BoundedInputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>markSupported()</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CharSequenceInputStream.html#markSupported()">markSupported()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CharSequenceInputStream.html" title="class in org.apache.commons.io.input">CharSequenceInputStream</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CharSequenceReader.html#markSupported()">markSupported()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CharSequenceReader.html" title="class in org.apache.commons.io.input">CharSequenceReader</a></dt>
<dd>
<div class="block">Mark is supported (returns true).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/NullInputStream.html#markSupported()">markSupported()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/NullInputStream.html" title="class in org.apache.commons.io.input">NullInputStream</a></dt>
<dd>
<div class="block">Indicates whether <i>mark</i> is supported.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/NullReader.html#markSupported()">markSupported()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/NullReader.html" title="class in org.apache.commons.io.input">NullReader</a></dt>
<dd>
<div class="block">Indicates whether <i>mark</i> is supported.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ProxyInputStream.html#markSupported()">markSupported()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ProxyInputStream.html" title="class in org.apache.commons.io.input">ProxyInputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>markSupported()</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ProxyReader.html#markSupported()">markSupported()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ProxyReader.html" title="class in org.apache.commons.io.input">ProxyReader</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>markSupported()</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#moveDirectory(java.io.File, java.io.File)">moveDirectory(File, File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Moves a directory.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#moveDirectoryToDirectory(java.io.File, java.io.File, boolean)">moveDirectoryToDirectory(File, File, boolean)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Moves a directory to another directory.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#moveFile(java.io.File, java.io.File)">moveFile(File, File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Moves a file.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#moveFileToDirectory(java.io.File, java.io.File, boolean)">moveFileToDirectory(File, File, boolean)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Moves a file to a directory.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#moveToDirectory(java.io.File, java.io.File, boolean)">moveToDirectory(File, File, boolean)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Moves a file or directory to the destination directory.</div>
</dd>
</dl>
<a name="_N_">
<!--   -->
</a>
<h2 class="title">N</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/NameFileComparator.html#NAME_COMPARATOR">NAME_COMPARATOR</a></span> - Static variable in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/NameFileComparator.html" title="class in org.apache.commons.io.comparator">NameFileComparator</a></dt>
<dd>
<div class="block">Case-sensitive name comparator instance (see <a href="./org/apache/commons/io/IOCase.html#SENSITIVE"><code>IOCase.SENSITIVE</code></a>)</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/NameFileComparator.html#NAME_INSENSITIVE_COMPARATOR">NAME_INSENSITIVE_COMPARATOR</a></span> - Static variable in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/NameFileComparator.html" title="class in org.apache.commons.io.comparator">NameFileComparator</a></dt>
<dd>
<div class="block">Case-insensitive name comparator instance (see <a href="./org/apache/commons/io/IOCase.html#INSENSITIVE"><code>IOCase.INSENSITIVE</code></a>)</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/NameFileComparator.html#NAME_INSENSITIVE_REVERSE">NAME_INSENSITIVE_REVERSE</a></span> - Static variable in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/NameFileComparator.html" title="class in org.apache.commons.io.comparator">NameFileComparator</a></dt>
<dd>
<div class="block">Reverse case-insensitive name comparator instance (see <a href="./org/apache/commons/io/IOCase.html#INSENSITIVE"><code>IOCase.INSENSITIVE</code></a>)</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/NameFileComparator.html#NAME_REVERSE">NAME_REVERSE</a></span> - Static variable in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/NameFileComparator.html" title="class in org.apache.commons.io.comparator">NameFileComparator</a></dt>
<dd>
<div class="block">Reverse case-sensitive name comparator instance (see <a href="./org/apache/commons/io/IOCase.html#SENSITIVE"><code>IOCase.SENSITIVE</code></a>)</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/NameFileComparator.html#NAME_SYSTEM_COMPARATOR">NAME_SYSTEM_COMPARATOR</a></span> - Static variable in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/NameFileComparator.html" title="class in org.apache.commons.io.comparator">NameFileComparator</a></dt>
<dd>
<div class="block">System sensitive name comparator instance (see <a href="./org/apache/commons/io/IOCase.html#SYSTEM"><code>IOCase.SYSTEM</code></a>)</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/NameFileComparator.html#NAME_SYSTEM_REVERSE">NAME_SYSTEM_REVERSE</a></span> - Static variable in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/NameFileComparator.html" title="class in org.apache.commons.io.comparator">NameFileComparator</a></dt>
<dd>
<div class="block">Reverse system sensitive name comparator instance (see <a href="./org/apache/commons/io/IOCase.html#SYSTEM"><code>IOCase.SYSTEM</code></a>)</div>
</dd>
<dt><a href="./org/apache/commons/io/comparator/NameFileComparator.html" title="class in org.apache.commons.io.comparator"><span class="strong">NameFileComparator</span></a> - Class in <a href="./org/apache/commons/io/comparator/package-summary.html">org.apache.commons.io.comparator</a></dt>
<dd>
<div class="block">Compare the <b>names</b> of two files for order (see <a href="http://download.oracle.com/javase/6/docs/api/java/io/File.html?is-external=true#getName()" title="class or interface in java.io"><code>File.getName()</code></a>).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/NameFileComparator.html#NameFileComparator()">NameFileComparator()</a></span> - Constructor for class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/NameFileComparator.html" title="class in org.apache.commons.io.comparator">NameFileComparator</a></dt>
<dd>
<div class="block">Construct a case sensitive file name comparator instance.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/NameFileComparator.html#NameFileComparator(org.apache.commons.io.IOCase)">NameFileComparator(IOCase)</a></span> - Constructor for class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/NameFileComparator.html" title="class in org.apache.commons.io.comparator">NameFileComparator</a></dt>
<dd>
<div class="block">Construct a file name comparator instance with the specified case-sensitivity.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#nameFileFilter(java.lang.String)">nameFileFilter(String)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Returns a filter that returns true if the filename matches the specified text.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#nameFileFilter(java.lang.String, org.apache.commons.io.IOCase)">nameFileFilter(String, IOCase)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Returns a filter that returns true if the filename matches the specified text.</div>
</dd>
<dt><a href="./org/apache/commons/io/filefilter/NameFileFilter.html" title="class in org.apache.commons.io.filefilter"><span class="strong">NameFileFilter</span></a> - Class in <a href="./org/apache/commons/io/filefilter/package-summary.html">org.apache.commons.io.filefilter</a></dt>
<dd>
<div class="block">Filters filenames for a certain name.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/NameFileFilter.html#NameFileFilter(java.lang.String)">NameFileFilter(String)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/NameFileFilter.html" title="class in org.apache.commons.io.filefilter">NameFileFilter</a></dt>
<dd>
<div class="block">Constructs a new case-sensitive name file filter for a single name.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/NameFileFilter.html#NameFileFilter(java.lang.String, org.apache.commons.io.IOCase)">NameFileFilter(String, IOCase)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/NameFileFilter.html" title="class in org.apache.commons.io.filefilter">NameFileFilter</a></dt>
<dd>
<div class="block">Construct a new name file filter specifying case-sensitivity.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/NameFileFilter.html#NameFileFilter(java.lang.String[])">NameFileFilter(String[])</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/NameFileFilter.html" title="class in org.apache.commons.io.filefilter">NameFileFilter</a></dt>
<dd>
<div class="block">Constructs a new case-sensitive name file filter for an array of names.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/NameFileFilter.html#NameFileFilter(java.lang.String[], org.apache.commons.io.IOCase)">NameFileFilter(String[], IOCase)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/NameFileFilter.html" title="class in org.apache.commons.io.filefilter">NameFileFilter</a></dt>
<dd>
<div class="block">Constructs a new name file filter for an array of names specifying case-sensitivity.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/NameFileFilter.html#NameFileFilter(java.util.List)">NameFileFilter(List&lt;String&gt;)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/NameFileFilter.html" title="class in org.apache.commons.io.filefilter">NameFileFilter</a></dt>
<dd>
<div class="block">Constructs a new case-sensitive name file filter for a list of names.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/NameFileFilter.html#NameFileFilter(java.util.List, org.apache.commons.io.IOCase)">NameFileFilter(List&lt;String&gt;, IOCase)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/NameFileFilter.html" title="class in org.apache.commons.io.filefilter">NameFileFilter</a></dt>
<dd>
<div class="block">Constructs a new name file filter for a list of names specifying case-sensitivity.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileEntry.html#newChildInstance(java.io.File)">newChildInstance(File)</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileEntry.html" title="class in org.apache.commons.io.monitor">FileEntry</a></dt>
<dd>
<div class="block">Create a new child instance.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/LineIterator.html#next()">next()</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/LineIterator.html" title="class in org.apache.commons.io">LineIterator</a></dt>
<dd>
<div class="block">Returns the next line in the wrapped <code>Reader</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/LineIterator.html#nextLine()">nextLine()</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/LineIterator.html" title="class in org.apache.commons.io">LineIterator</a></dt>
<dd>
<div class="block">Returns the next line in the wrapped <code>Reader</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileDeleteStrategy.html#NORMAL">NORMAL</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/FileDeleteStrategy.html" title="class in org.apache.commons.io">FileDeleteStrategy</a></dt>
<dd>
<div class="block">The singleton instance for normal file deletion, which does not permit
 the deletion of directories that are not empty.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#normalize(java.lang.String)">normalize(String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Normalizes a path, removing double and single dot path steps.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#normalize(java.lang.String, boolean)">normalize(String, boolean)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Normalizes a path, removing double and single dot path steps.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#normalizeNoEndSeparator(java.lang.String)">normalizeNoEndSeparator(String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Normalizes a path, removing double and single dot path steps,
 and removing any final directory separator.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#normalizeNoEndSeparator(java.lang.String, boolean)">normalizeNoEndSeparator(String, boolean)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Normalizes a path, removing double and single dot path steps,
 and removing any final directory separator.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/EmptyFileFilter.html#NOT_EMPTY">NOT_EMPTY</a></span> - Static variable in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/EmptyFileFilter.html" title="class in org.apache.commons.io.filefilter">EmptyFileFilter</a></dt>
<dd>
<div class="block">Singleton instance of <i>not-empty</i> filter</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#notFileFilter(org.apache.commons.io.filefilter.IOFileFilter)">notFileFilter(IOFileFilter)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Returns a filter that NOTs the specified filter.</div>
</dd>
<dt><a href="./org/apache/commons/io/filefilter/NotFileFilter.html" title="class in org.apache.commons.io.filefilter"><span class="strong">NotFileFilter</span></a> - Class in <a href="./org/apache/commons/io/filefilter/package-summary.html">org.apache.commons.io.filefilter</a></dt>
<dd>
<div class="block">This filter produces a logical NOT of the filters specified.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/NotFileFilter.html#NotFileFilter(org.apache.commons.io.filefilter.IOFileFilter)">NotFileFilter(IOFileFilter)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/NotFileFilter.html" title="class in org.apache.commons.io.filefilter">NotFileFilter</a></dt>
<dd>
<div class="block">Constructs a new file filter that NOTs the result of another filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/NullOutputStream.html#NULL_OUTPUT_STREAM">NULL_OUTPUT_STREAM</a></span> - Static variable in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/NullOutputStream.html" title="class in org.apache.commons.io.output">NullOutputStream</a></dt>
<dd>
<div class="block">A singleton.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/NullWriter.html#NULL_WRITER">NULL_WRITER</a></span> - Static variable in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/NullWriter.html" title="class in org.apache.commons.io.output">NullWriter</a></dt>
<dd>
<div class="block">A singleton.</div>
</dd>
<dt><a href="./org/apache/commons/io/input/NullInputStream.html" title="class in org.apache.commons.io.input"><span class="strong">NullInputStream</span></a> - Class in <a href="./org/apache/commons/io/input/package-summary.html">org.apache.commons.io.input</a></dt>
<dd>
<div class="block">A functional, light weight <a href="http://download.oracle.com/javase/6/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a> that emulates
 a stream of a specified size.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/NullInputStream.html#NullInputStream(long)">NullInputStream(long)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/NullInputStream.html" title="class in org.apache.commons.io.input">NullInputStream</a></dt>
<dd>
<div class="block">Create an <a href="http://download.oracle.com/javase/6/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a> that emulates a specified size
 which supports marking and does not throw EOFException.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/NullInputStream.html#NullInputStream(long, boolean, boolean)">NullInputStream(long, boolean, boolean)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/NullInputStream.html" title="class in org.apache.commons.io.input">NullInputStream</a></dt>
<dd>
<div class="block">Create an <a href="http://download.oracle.com/javase/6/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a> that emulates a specified
 size with option settings.</div>
</dd>
<dt><a href="./org/apache/commons/io/output/NullOutputStream.html" title="class in org.apache.commons.io.output"><span class="strong">NullOutputStream</span></a> - Class in <a href="./org/apache/commons/io/output/package-summary.html">org.apache.commons.io.output</a></dt>
<dd>
<div class="block">This OutputStream writes all data to the famous <b>/dev/null</b>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/NullOutputStream.html#NullOutputStream()">NullOutputStream()</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/NullOutputStream.html" title="class in org.apache.commons.io.output">NullOutputStream</a></dt>
<dd>&nbsp;</dd>
<dt><a href="./org/apache/commons/io/input/NullReader.html" title="class in org.apache.commons.io.input"><span class="strong">NullReader</span></a> - Class in <a href="./org/apache/commons/io/input/package-summary.html">org.apache.commons.io.input</a></dt>
<dd>
<div class="block">A functional, light weight <a href="http://download.oracle.com/javase/6/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io"><code>Reader</code></a> that emulates
 a reader of a specified size.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/NullReader.html#NullReader(long)">NullReader(long)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/NullReader.html" title="class in org.apache.commons.io.input">NullReader</a></dt>
<dd>
<div class="block">Create a <a href="http://download.oracle.com/javase/6/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io"><code>Reader</code></a> that emulates a specified size
 which supports marking and does not throw EOFException.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/NullReader.html#NullReader(long, boolean, boolean)">NullReader(long, boolean, boolean)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/NullReader.html" title="class in org.apache.commons.io.input">NullReader</a></dt>
<dd>
<div class="block">Create a <a href="http://download.oracle.com/javase/6/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io"><code>Reader</code></a> that emulates a specified
 size with option settings.</div>
</dd>
<dt><a href="./org/apache/commons/io/output/NullWriter.html" title="class in org.apache.commons.io.output"><span class="strong">NullWriter</span></a> - Class in <a href="./org/apache/commons/io/output/package-summary.html">org.apache.commons.io.output</a></dt>
<dd>
<div class="block">This <a href="http://download.oracle.com/javase/6/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><code>Writer</code></a> writes all data to the famous <b>/dev/null</b>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/NullWriter.html#NullWriter()">NullWriter()</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/NullWriter.html" title="class in org.apache.commons.io.output">NullWriter</a></dt>
<dd>
<div class="block">Constructs a new NullWriter.</div>
</dd>
</dl>
<a name="_O_">
<!--   -->
</a>
<h2 class="title">O</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationListener.html#onDirectoryChange(java.io.File)">onDirectoryChange(File)</a></span> - Method in interface org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationListener.html" title="interface in org.apache.commons.io.monitor">FileAlterationListener</a></dt>
<dd>
<div class="block">Directory changed Event.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationListenerAdaptor.html#onDirectoryChange(java.io.File)">onDirectoryChange(File)</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationListenerAdaptor.html" title="class in org.apache.commons.io.monitor">FileAlterationListenerAdaptor</a></dt>
<dd>
<div class="block">Directory changed Event.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationListener.html#onDirectoryCreate(java.io.File)">onDirectoryCreate(File)</a></span> - Method in interface org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationListener.html" title="interface in org.apache.commons.io.monitor">FileAlterationListener</a></dt>
<dd>
<div class="block">Directory created Event.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationListenerAdaptor.html#onDirectoryCreate(java.io.File)">onDirectoryCreate(File)</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationListenerAdaptor.html" title="class in org.apache.commons.io.monitor">FileAlterationListenerAdaptor</a></dt>
<dd>
<div class="block">Directory created Event.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationListener.html#onDirectoryDelete(java.io.File)">onDirectoryDelete(File)</a></span> - Method in interface org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationListener.html" title="interface in org.apache.commons.io.monitor">FileAlterationListener</a></dt>
<dd>
<div class="block">Directory deleted Event.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationListenerAdaptor.html#onDirectoryDelete(java.io.File)">onDirectoryDelete(File)</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationListenerAdaptor.html" title="class in org.apache.commons.io.monitor">FileAlterationListenerAdaptor</a></dt>
<dd>
<div class="block">Directory deleted Event.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#ONE_EB">ONE_EB</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">The number of bytes in an exabyte.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#ONE_EB_BI">ONE_EB_BI</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">The number of bytes in an exabyte.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#ONE_GB">ONE_GB</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">The number of bytes in a gigabyte.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#ONE_GB_BI">ONE_GB_BI</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">The number of bytes in a gigabyte.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#ONE_KB">ONE_KB</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">The number of bytes in a kilobyte.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#ONE_KB_BI">ONE_KB_BI</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">The number of bytes in a kilobyte.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#ONE_MB">ONE_MB</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">The number of bytes in a megabyte.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#ONE_MB_BI">ONE_MB_BI</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">The number of bytes in a megabyte.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#ONE_PB">ONE_PB</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">The number of bytes in a petabyte.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#ONE_PB_BI">ONE_PB_BI</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">The number of bytes in a petabyte.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#ONE_TB">ONE_TB</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">The number of bytes in a terabyte.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#ONE_TB_BI">ONE_TB_BI</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">The number of bytes in a terabyte.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#ONE_YB">ONE_YB</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">The number of bytes in a yottabyte.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#ONE_ZB">ONE_ZB</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">The number of bytes in a zettabyte.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationListener.html#onFileChange(java.io.File)">onFileChange(File)</a></span> - Method in interface org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationListener.html" title="interface in org.apache.commons.io.monitor">FileAlterationListener</a></dt>
<dd>
<div class="block">File changed Event.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationListenerAdaptor.html#onFileChange(java.io.File)">onFileChange(File)</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationListenerAdaptor.html" title="class in org.apache.commons.io.monitor">FileAlterationListenerAdaptor</a></dt>
<dd>
<div class="block">File changed Event.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationListener.html#onFileCreate(java.io.File)">onFileCreate(File)</a></span> - Method in interface org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationListener.html" title="interface in org.apache.commons.io.monitor">FileAlterationListener</a></dt>
<dd>
<div class="block">File created Event.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationListenerAdaptor.html#onFileCreate(java.io.File)">onFileCreate(File)</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationListenerAdaptor.html" title="class in org.apache.commons.io.monitor">FileAlterationListenerAdaptor</a></dt>
<dd>
<div class="block">File created Event.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationListener.html#onFileDelete(java.io.File)">onFileDelete(File)</a></span> - Method in interface org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationListener.html" title="interface in org.apache.commons.io.monitor">FileAlterationListener</a></dt>
<dd>
<div class="block">File deleted Event.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationListenerAdaptor.html#onFileDelete(java.io.File)">onFileDelete(File)</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationListenerAdaptor.html" title="class in org.apache.commons.io.monitor">FileAlterationListenerAdaptor</a></dt>
<dd>
<div class="block">File deleted Event.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationListener.html#onStart(org.apache.commons.io.monitor.FileAlterationObserver)">onStart(FileAlterationObserver)</a></span> - Method in interface org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationListener.html" title="interface in org.apache.commons.io.monitor">FileAlterationListener</a></dt>
<dd>
<div class="block">File system observer started checking event.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationListenerAdaptor.html#onStart(org.apache.commons.io.monitor.FileAlterationObserver)">onStart(FileAlterationObserver)</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationListenerAdaptor.html" title="class in org.apache.commons.io.monitor">FileAlterationListenerAdaptor</a></dt>
<dd>
<div class="block">File system observer started checking event.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationListener.html#onStop(org.apache.commons.io.monitor.FileAlterationObserver)">onStop(FileAlterationObserver)</a></span> - Method in interface org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationListener.html" title="interface in org.apache.commons.io.monitor">FileAlterationListener</a></dt>
<dd>
<div class="block">File system observer finished checking event.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationListenerAdaptor.html#onStop(org.apache.commons.io.monitor.FileAlterationObserver)">onStop(FileAlterationObserver)</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationListenerAdaptor.html" title="class in org.apache.commons.io.monitor">FileAlterationListenerAdaptor</a></dt>
<dd>
<div class="block">File system observer finished checking event.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#openInputStream(java.io.File)">openInputStream(File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Opens a <a href="http://download.oracle.com/javase/6/docs/api/java/io/FileInputStream.html?is-external=true" title="class or interface in java.io"><code>FileInputStream</code></a> for the specified file, providing better
 error messages than simply calling <code>new FileInputStream(file)</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#openOutputStream(java.io.File)">openOutputStream(File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Opens a <a href="http://download.oracle.com/javase/6/docs/api/java/io/FileOutputStream.html?is-external=true" title="class or interface in java.io"><code>FileOutputStream</code></a> for the specified file, checking and
 creating the parent directory if it does not exist.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#openOutputStream(java.io.File, boolean)">openOutputStream(File, boolean)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Opens a <a href="http://download.oracle.com/javase/6/docs/api/java/io/FileOutputStream.html?is-external=true" title="class or interface in java.io"><code>FileOutputStream</code></a> for the specified file, checking and
 creating the parent directory if it does not exist.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#or(org.apache.commons.io.filefilter.IOFileFilter...)">or(IOFileFilter...)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Returns a filter that ORs the specified filters.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#orFileFilter(org.apache.commons.io.filefilter.IOFileFilter, org.apache.commons.io.filefilter.IOFileFilter)">orFileFilter(IOFileFilter, IOFileFilter)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>use <a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#or(org.apache.commons.io.filefilter.IOFileFilter...)"><code>FileFilterUtils.or(IOFileFilter...)</code></a></i></div>
</div>
</dd>
<dt><a href="./org/apache/commons/io/filefilter/OrFileFilter.html" title="class in org.apache.commons.io.filefilter"><span class="strong">OrFileFilter</span></a> - Class in <a href="./org/apache/commons/io/filefilter/package-summary.html">org.apache.commons.io.filefilter</a></dt>
<dd>
<div class="block">A <a href="http://download.oracle.com/javase/6/docs/api/java/io/FileFilter.html?is-external=true" title="class or interface in java.io"><code>FileFilter</code></a> providing conditional OR logic across a list of
 file filters.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/OrFileFilter.html#OrFileFilter()">OrFileFilter()</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/OrFileFilter.html" title="class in org.apache.commons.io.filefilter">OrFileFilter</a></dt>
<dd>
<div class="block">Constructs a new instance of <code>OrFileFilter</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/OrFileFilter.html#OrFileFilter(java.util.List)">OrFileFilter(List&lt;IOFileFilter&gt;)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/OrFileFilter.html" title="class in org.apache.commons.io.filefilter">OrFileFilter</a></dt>
<dd>
<div class="block">Constructs a new instance of <code>OrFileFilter</code>
 with the specified filters.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/OrFileFilter.html#OrFileFilter(org.apache.commons.io.filefilter.IOFileFilter, org.apache.commons.io.filefilter.IOFileFilter)">OrFileFilter(IOFileFilter, IOFileFilter)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/OrFileFilter.html" title="class in org.apache.commons.io.filefilter">OrFileFilter</a></dt>
<dd>
<div class="block">Constructs a new file filter that ORs the result of two other filters.</div>
</dd>
<dt><a href="./org/apache/commons/io/package-summary.html">org.apache.commons.io</a> - package org.apache.commons.io</dt>
<dd>
<div class="block">
This package defines utility classes for working with streams, readers,
writers and files.</div>
</dd>
<dt><a href="./org/apache/commons/io/comparator/package-summary.html">org.apache.commons.io.comparator</a> - package org.apache.commons.io.comparator</dt>
<dd>
<div class="block">This package provides various <a href="http://download.oracle.com/javase/6/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util"><code>Comparator</code></a> implementations
for <a href="http://download.oracle.com/javase/6/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io"><code>File</code></a>s.</div>
</dd>
<dt><a href="./org/apache/commons/io/filefilter/package-summary.html">org.apache.commons.io.filefilter</a> - package org.apache.commons.io.filefilter</dt>
<dd>
<div class="block">This package defines an interface (IOFileFilter) that combines both 
<a href="http://download.oracle.com/javase/6/docs/api/java/io/FileFilter.html?is-external=true" title="class or interface in java.io"><code>FileFilter</code></a> and <a href="http://download.oracle.com/javase/6/docs/api/java/io/FilenameFilter.html?is-external=true" title="class or interface in java.io"><code>FilenameFilter</code></a>.</div>
</dd>
<dt><a href="./org/apache/commons/io/input/package-summary.html">org.apache.commons.io.input</a> - package org.apache.commons.io.input</dt>
<dd>
<div class="block">
This package provides implementations of input classes, such as
<code>InputStream</code> and <code>Reader</code>.</div>
</dd>
<dt><a href="./org/apache/commons/io/monitor/package-summary.html">org.apache.commons.io.monitor</a> - package org.apache.commons.io.monitor</dt>
<dd>
<div class="block">
This package provides a component for monitoring file system events
(directory and file create, update and delete events).</div>
</dd>
<dt><a href="./org/apache/commons/io/output/package-summary.html">org.apache.commons.io.output</a> - package org.apache.commons.io.output</dt>
<dd>
<div class="block">
This package provides implementations of output classes, such as
<code>OutputStream</code> and <code>Writer</code>.</div>
</dd>
</dl>
<a name="_P_">
<!--   -->
</a>
<h2 class="title">P</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/PathFileComparator.html#PATH_COMPARATOR">PATH_COMPARATOR</a></span> - Static variable in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/PathFileComparator.html" title="class in org.apache.commons.io.comparator">PathFileComparator</a></dt>
<dd>
<div class="block">Case-sensitive path comparator instance (see <a href="./org/apache/commons/io/IOCase.html#SENSITIVE"><code>IOCase.SENSITIVE</code></a>)</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/PathFileComparator.html#PATH_INSENSITIVE_COMPARATOR">PATH_INSENSITIVE_COMPARATOR</a></span> - Static variable in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/PathFileComparator.html" title="class in org.apache.commons.io.comparator">PathFileComparator</a></dt>
<dd>
<div class="block">Case-insensitive path comparator instance (see <a href="./org/apache/commons/io/IOCase.html#INSENSITIVE"><code>IOCase.INSENSITIVE</code></a>)</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/PathFileComparator.html#PATH_INSENSITIVE_REVERSE">PATH_INSENSITIVE_REVERSE</a></span> - Static variable in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/PathFileComparator.html" title="class in org.apache.commons.io.comparator">PathFileComparator</a></dt>
<dd>
<div class="block">Reverse case-insensitive path comparator instance (see <a href="./org/apache/commons/io/IOCase.html#INSENSITIVE"><code>IOCase.INSENSITIVE</code></a>)</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/PathFileComparator.html#PATH_REVERSE">PATH_REVERSE</a></span> - Static variable in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/PathFileComparator.html" title="class in org.apache.commons.io.comparator">PathFileComparator</a></dt>
<dd>
<div class="block">Reverse case-sensitive path comparator instance (see <a href="./org/apache/commons/io/IOCase.html#SENSITIVE"><code>IOCase.SENSITIVE</code></a>)</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/PathFileComparator.html#PATH_SYSTEM_COMPARATOR">PATH_SYSTEM_COMPARATOR</a></span> - Static variable in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/PathFileComparator.html" title="class in org.apache.commons.io.comparator">PathFileComparator</a></dt>
<dd>
<div class="block">System sensitive path comparator instance (see <a href="./org/apache/commons/io/IOCase.html#SYSTEM"><code>IOCase.SYSTEM</code></a>)</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/PathFileComparator.html#PATH_SYSTEM_REVERSE">PATH_SYSTEM_REVERSE</a></span> - Static variable in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/PathFileComparator.html" title="class in org.apache.commons.io.comparator">PathFileComparator</a></dt>
<dd>
<div class="block">Reverse system sensitive path comparator instance (see <a href="./org/apache/commons/io/IOCase.html#SYSTEM"><code>IOCase.SYSTEM</code></a>)</div>
</dd>
<dt><a href="./org/apache/commons/io/comparator/PathFileComparator.html" title="class in org.apache.commons.io.comparator"><span class="strong">PathFileComparator</span></a> - Class in <a href="./org/apache/commons/io/comparator/package-summary.html">org.apache.commons.io.comparator</a></dt>
<dd>
<div class="block">Compare the <b>path</b> of two files for order (see <a href="http://download.oracle.com/javase/6/docs/api/java/io/File.html?is-external=true#getPath()" title="class or interface in java.io"><code>File.getPath()</code></a>).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/PathFileComparator.html#PathFileComparator()">PathFileComparator()</a></span> - Constructor for class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/PathFileComparator.html" title="class in org.apache.commons.io.comparator">PathFileComparator</a></dt>
<dd>
<div class="block">Construct a case sensitive file path comparator instance.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/PathFileComparator.html#PathFileComparator(org.apache.commons.io.IOCase)">PathFileComparator(IOCase)</a></span> - Constructor for class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/PathFileComparator.html" title="class in org.apache.commons.io.comparator">PathFileComparator</a></dt>
<dd>
<div class="block">Construct a file path comparator instance with the specified case-sensitivity.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#prefixFileFilter(java.lang.String)">prefixFileFilter(String)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Returns a filter that returns true if the filename starts with the specified text.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#prefixFileFilter(java.lang.String, org.apache.commons.io.IOCase)">prefixFileFilter(String, IOCase)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Returns a filter that returns true if the filename starts with the specified text.</div>
</dd>
<dt><a href="./org/apache/commons/io/filefilter/PrefixFileFilter.html" title="class in org.apache.commons.io.filefilter"><span class="strong">PrefixFileFilter</span></a> - Class in <a href="./org/apache/commons/io/filefilter/package-summary.html">org.apache.commons.io.filefilter</a></dt>
<dd>
<div class="block">Filters filenames for a certain prefix.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/PrefixFileFilter.html#PrefixFileFilter(java.lang.String)">PrefixFileFilter(String)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/PrefixFileFilter.html" title="class in org.apache.commons.io.filefilter">PrefixFileFilter</a></dt>
<dd>
<div class="block">Constructs a new Prefix file filter for a single prefix.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/PrefixFileFilter.html#PrefixFileFilter(java.lang.String, org.apache.commons.io.IOCase)">PrefixFileFilter(String, IOCase)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/PrefixFileFilter.html" title="class in org.apache.commons.io.filefilter">PrefixFileFilter</a></dt>
<dd>
<div class="block">Constructs a new Prefix file filter for a single prefix
 specifying case-sensitivity.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/PrefixFileFilter.html#PrefixFileFilter(java.lang.String[])">PrefixFileFilter(String[])</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/PrefixFileFilter.html" title="class in org.apache.commons.io.filefilter">PrefixFileFilter</a></dt>
<dd>
<div class="block">Constructs a new Prefix file filter for any of an array of prefixes.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/PrefixFileFilter.html#PrefixFileFilter(java.lang.String[], org.apache.commons.io.IOCase)">PrefixFileFilter(String[], IOCase)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/PrefixFileFilter.html" title="class in org.apache.commons.io.filefilter">PrefixFileFilter</a></dt>
<dd>
<div class="block">Constructs a new Prefix file filter for any of an array of prefixes
 specifying case-sensitivity.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/PrefixFileFilter.html#PrefixFileFilter(java.util.List)">PrefixFileFilter(List&lt;String&gt;)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/PrefixFileFilter.html" title="class in org.apache.commons.io.filefilter">PrefixFileFilter</a></dt>
<dd>
<div class="block">Constructs a new Prefix file filter for a list of prefixes.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/PrefixFileFilter.html#PrefixFileFilter(java.util.List, org.apache.commons.io.IOCase)">PrefixFileFilter(List&lt;String&gt;, IOCase)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/PrefixFileFilter.html" title="class in org.apache.commons.io.filefilter">PrefixFileFilter</a></dt>
<dd>
<div class="block">Constructs a new Prefix file filter for a list of prefixes
 specifying case-sensitivity.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/NullInputStream.html#processByte()">processByte()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/NullInputStream.html" title="class in org.apache.commons.io.input">NullInputStream</a></dt>
<dd>
<div class="block">Return a byte value for the  <code>read()</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/NullInputStream.html#processBytes(byte[], int, int)">processBytes(byte[], int, int)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/NullInputStream.html" title="class in org.apache.commons.io.input">NullInputStream</a></dt>
<dd>
<div class="block">Process the bytes for the <code>read(byte[], offset, length)</code>
 method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/NullReader.html#processChar()">processChar()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/NullReader.html" title="class in org.apache.commons.io.input">NullReader</a></dt>
<dd>
<div class="block">Return a character value for the  <code>read()</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/NullReader.html#processChars(char[], int, int)">processChars(char[], int, int)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/NullReader.html" title="class in org.apache.commons.io.input">NullReader</a></dt>
<dd>
<div class="block">Process the characters for the <code>read(char[], offset, length)</code>
 method.</div>
</dd>
<dt><a href="./org/apache/commons/io/input/ProxyInputStream.html" title="class in org.apache.commons.io.input"><span class="strong">ProxyInputStream</span></a> - Class in <a href="./org/apache/commons/io/input/package-summary.html">org.apache.commons.io.input</a></dt>
<dd>
<div class="block">A Proxy stream which acts as expected, that is it passes the method
 calls on to the proxied stream and doesn't change which methods are
 being called.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ProxyInputStream.html#ProxyInputStream(java.io.InputStream)">ProxyInputStream(InputStream)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ProxyInputStream.html" title="class in org.apache.commons.io.input">ProxyInputStream</a></dt>
<dd>
<div class="block">Constructs a new ProxyInputStream.</div>
</dd>
<dt><a href="./org/apache/commons/io/output/ProxyOutputStream.html" title="class in org.apache.commons.io.output"><span class="strong">ProxyOutputStream</span></a> - Class in <a href="./org/apache/commons/io/output/package-summary.html">org.apache.commons.io.output</a></dt>
<dd>
<div class="block">A Proxy stream which acts as expected, that is it passes the method 
 calls on to the proxied stream and doesn't change which methods are 
 being called.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ProxyOutputStream.html#ProxyOutputStream(java.io.OutputStream)">ProxyOutputStream(OutputStream)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ProxyOutputStream.html" title="class in org.apache.commons.io.output">ProxyOutputStream</a></dt>
<dd>
<div class="block">Constructs a new ProxyOutputStream.</div>
</dd>
<dt><a href="./org/apache/commons/io/input/ProxyReader.html" title="class in org.apache.commons.io.input"><span class="strong">ProxyReader</span></a> - Class in <a href="./org/apache/commons/io/input/package-summary.html">org.apache.commons.io.input</a></dt>
<dd>
<div class="block">A Proxy stream which acts as expected, that is it passes the method 
 calls on to the proxied stream and doesn't change which methods are 
 being called.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ProxyReader.html#ProxyReader(java.io.Reader)">ProxyReader(Reader)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ProxyReader.html" title="class in org.apache.commons.io.input">ProxyReader</a></dt>
<dd>
<div class="block">Constructs a new ProxyReader.</div>
</dd>
<dt><a href="./org/apache/commons/io/output/ProxyWriter.html" title="class in org.apache.commons.io.output"><span class="strong">ProxyWriter</span></a> - Class in <a href="./org/apache/commons/io/output/package-summary.html">org.apache.commons.io.output</a></dt>
<dd>
<div class="block">A Proxy stream which acts as expected, that is it passes the method 
 calls on to the proxied stream and doesn't change which methods are 
 being called.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ProxyWriter.html#ProxyWriter(java.io.Writer)">ProxyWriter(Writer)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ProxyWriter.html" title="class in org.apache.commons.io.output">ProxyWriter</a></dt>
<dd>
<div class="block">Constructs a new ProxyWriter.</div>
</dd>
</dl>
<a name="_R_">
<!--   -->
</a>
<h2 class="title">R</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BOMInputStream.html#read()">read()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BOMInputStream.html" title="class in org.apache.commons.io.input">BOMInputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>read()</code> method, detecting and optionally skipping BOM.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BOMInputStream.html#read(byte[], int, int)">read(byte[], int, int)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BOMInputStream.html" title="class in org.apache.commons.io.input">BOMInputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>read(byte[], int, int)</code> method, detecting and optionally skipping BOM.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BOMInputStream.html#read(byte[])">read(byte[])</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BOMInputStream.html" title="class in org.apache.commons.io.input">BOMInputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>read(byte[])</code> method, detecting and optionally skipping BOM.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BoundedInputStream.html#read()">read()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BoundedInputStream.html" title="class in org.apache.commons.io.input">BoundedInputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>read()</code> method if
 the current position is less than the limit.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BoundedInputStream.html#read(byte[])">read(byte[])</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BoundedInputStream.html" title="class in org.apache.commons.io.input">BoundedInputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>read(byte[])</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BoundedInputStream.html#read(byte[], int, int)">read(byte[], int, int)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BoundedInputStream.html" title="class in org.apache.commons.io.input">BoundedInputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>read(byte[], int, int)</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BrokenInputStream.html#read()">read()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BrokenInputStream.html" title="class in org.apache.commons.io.input">BrokenInputStream</a></dt>
<dd>
<div class="block">Throws the configured exception.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CharSequenceInputStream.html#read(byte[], int, int)">read(byte[], int, int)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CharSequenceInputStream.html" title="class in org.apache.commons.io.input">CharSequenceInputStream</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CharSequenceInputStream.html#read()">read()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CharSequenceInputStream.html" title="class in org.apache.commons.io.input">CharSequenceInputStream</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CharSequenceInputStream.html#read(byte[])">read(byte[])</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CharSequenceInputStream.html" title="class in org.apache.commons.io.input">CharSequenceInputStream</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CharSequenceReader.html#read()">read()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CharSequenceReader.html" title="class in org.apache.commons.io.input">CharSequenceReader</a></dt>
<dd>
<div class="block">Read a single character.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CharSequenceReader.html#read(char[], int, int)">read(char[], int, int)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CharSequenceReader.html" title="class in org.apache.commons.io.input">CharSequenceReader</a></dt>
<dd>
<div class="block">Read the sepcified number of characters into the array.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ClosedInputStream.html#read()">read()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ClosedInputStream.html" title="class in org.apache.commons.io.input">ClosedInputStream</a></dt>
<dd>
<div class="block">Returns -1 to indicate that the stream is closed.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/DemuxInputStream.html#read()">read()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/DemuxInputStream.html" title="class in org.apache.commons.io.input">DemuxInputStream</a></dt>
<dd>
<div class="block">Read byte from stream associated with current thread.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/NullInputStream.html#read()">read()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/NullInputStream.html" title="class in org.apache.commons.io.input">NullInputStream</a></dt>
<dd>
<div class="block">Read a byte.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/NullInputStream.html#read(byte[])">read(byte[])</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/NullInputStream.html" title="class in org.apache.commons.io.input">NullInputStream</a></dt>
<dd>
<div class="block">Read some bytes into the specified array.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/NullInputStream.html#read(byte[], int, int)">read(byte[], int, int)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/NullInputStream.html" title="class in org.apache.commons.io.input">NullInputStream</a></dt>
<dd>
<div class="block">Read the specified number bytes into an array.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/NullReader.html#read()">read()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/NullReader.html" title="class in org.apache.commons.io.input">NullReader</a></dt>
<dd>
<div class="block">Read a character.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/NullReader.html#read(char[])">read(char[])</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/NullReader.html" title="class in org.apache.commons.io.input">NullReader</a></dt>
<dd>
<div class="block">Read some characters into the specified array.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/NullReader.html#read(char[], int, int)">read(char[], int, int)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/NullReader.html" title="class in org.apache.commons.io.input">NullReader</a></dt>
<dd>
<div class="block">Read the specified number characters into an array.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ProxyInputStream.html#read()">read()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ProxyInputStream.html" title="class in org.apache.commons.io.input">ProxyInputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>read()</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ProxyInputStream.html#read(byte[])">read(byte[])</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ProxyInputStream.html" title="class in org.apache.commons.io.input">ProxyInputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>read(byte[])</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ProxyInputStream.html#read(byte[], int, int)">read(byte[], int, int)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ProxyInputStream.html" title="class in org.apache.commons.io.input">ProxyInputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>read(byte[], int, int)</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ProxyReader.html#read()">read()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ProxyReader.html" title="class in org.apache.commons.io.input">ProxyReader</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>read()</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ProxyReader.html#read(char[])">read(char[])</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ProxyReader.html" title="class in org.apache.commons.io.input">ProxyReader</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>read(char[])</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ProxyReader.html#read(char[], int, int)">read(char[], int, int)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ProxyReader.html" title="class in org.apache.commons.io.input">ProxyReader</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>read(char[], int, int)</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ProxyReader.html#read(java.nio.CharBuffer)">read(CharBuffer)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ProxyReader.html" title="class in org.apache.commons.io.input">ProxyReader</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>read(CharBuffer)</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ReaderInputStream.html#read(byte[], int, int)">read(byte[], int, int)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ReaderInputStream.html" title="class in org.apache.commons.io.input">ReaderInputStream</a></dt>
<dd>
<div class="block">Read the specified number of bytes into an array.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ReaderInputStream.html#read(byte[])">read(byte[])</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ReaderInputStream.html" title="class in org.apache.commons.io.input">ReaderInputStream</a></dt>
<dd>
<div class="block">Read the specified number of bytes into an array.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ReaderInputStream.html#read()">read()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ReaderInputStream.html" title="class in org.apache.commons.io.input">ReaderInputStream</a></dt>
<dd>
<div class="block">Read a single byte.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/TeeInputStream.html#read()">read()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/TeeInputStream.html" title="class in org.apache.commons.io.input">TeeInputStream</a></dt>
<dd>
<div class="block">Reads a single byte from the proxied input stream and writes it to
 the associated output stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/TeeInputStream.html#read(byte[], int, int)">read(byte[], int, int)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/TeeInputStream.html" title="class in org.apache.commons.io.input">TeeInputStream</a></dt>
<dd>
<div class="block">Reads bytes from the proxied input stream and writes the read bytes
 to the associated output stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/TeeInputStream.html#read(byte[])">read(byte[])</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/TeeInputStream.html" title="class in org.apache.commons.io.input">TeeInputStream</a></dt>
<dd>
<div class="block">Reads bytes from the proxied input stream and writes the read bytes
 to the associated output stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/XmlStreamReader.html#read(char[], int, int)">read(char[], int, int)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/XmlStreamReader.html" title="class in org.apache.commons.io.input">XmlStreamReader</a></dt>
<dd>
<div class="block">Invokes the underlying reader's <code>read(char[], int, int)</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#read(java.io.Reader, char[], int, int)">read(Reader, char[], int, int)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Reads characters from an input character stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#read(java.io.Reader, char[])">read(Reader, char[])</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Reads characters from an input character stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#read(java.io.InputStream, byte[], int, int)">read(InputStream, byte[], int, int)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Reads bytes from an input stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#read(java.io.InputStream, byte[])">read(InputStream, byte[])</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Reads bytes from an input stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#read(java.nio.channels.ReadableByteChannel, java.nio.ByteBuffer)">read(ReadableByteChannel, ByteBuffer)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Reads bytes from a ReadableByteChannel.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/CanReadFileFilter.html#READ_ONLY">READ_ONLY</a></span> - Static variable in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/CanReadFileFilter.html" title="class in org.apache.commons.io.filefilter">CanReadFileFilter</a></dt>
<dd>
<div class="block">Singleton instance of <i>read-only</i> filter</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/SwappedDataInputStream.html#readBoolean()">readBoolean()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/SwappedDataInputStream.html" title="class in org.apache.commons.io.input">SwappedDataInputStream</a></dt>
<dd>
<div class="block">Return <code><a href="./org/apache/commons/io/input/SwappedDataInputStream.html#readByte()"><code>SwappedDataInputStream.readByte()</code></a> != 0</code></div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/SwappedDataInputStream.html#readByte()">readByte()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/SwappedDataInputStream.html" title="class in org.apache.commons.io.input">SwappedDataInputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>read()</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/SwappedDataInputStream.html#readChar()">readChar()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/SwappedDataInputStream.html" title="class in org.apache.commons.io.input">SwappedDataInputStream</a></dt>
<dd>
<div class="block">Reads a character delegating to <a href="./org/apache/commons/io/input/SwappedDataInputStream.html#readShort()"><code>SwappedDataInputStream.readShort()</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/SwappedDataInputStream.html#readDouble()">readDouble()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/SwappedDataInputStream.html" title="class in org.apache.commons.io.input">SwappedDataInputStream</a></dt>
<dd>
<div class="block">Delegates to <a href="./org/apache/commons/io/EndianUtils.html#readSwappedDouble(java.io.InputStream)"><code>EndianUtils.readSwappedDouble(InputStream)</code></a>.</div>
</dd>
<dt><a href="./org/apache/commons/io/input/ReaderInputStream.html" title="class in org.apache.commons.io.input"><span class="strong">ReaderInputStream</span></a> - Class in <a href="./org/apache/commons/io/input/package-summary.html">org.apache.commons.io.input</a></dt>
<dd>
<div class="block"><a href="http://download.oracle.com/javase/6/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a> implementation that reads a character stream from a <a href="http://download.oracle.com/javase/6/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io"><code>Reader</code></a>
 and transforms it to a byte stream using a specified charset encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ReaderInputStream.html#ReaderInputStream(java.io.Reader, java.nio.charset.CharsetEncoder)">ReaderInputStream(Reader, CharsetEncoder)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ReaderInputStream.html" title="class in org.apache.commons.io.input">ReaderInputStream</a></dt>
<dd>
<div class="block">Construct a new <a href="./org/apache/commons/io/input/ReaderInputStream.html" title="class in org.apache.commons.io.input"><code>ReaderInputStream</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ReaderInputStream.html#ReaderInputStream(java.io.Reader, java.nio.charset.CharsetEncoder, int)">ReaderInputStream(Reader, CharsetEncoder, int)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ReaderInputStream.html" title="class in org.apache.commons.io.input">ReaderInputStream</a></dt>
<dd>
<div class="block">Construct a new <a href="./org/apache/commons/io/input/ReaderInputStream.html" title="class in org.apache.commons.io.input"><code>ReaderInputStream</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ReaderInputStream.html#ReaderInputStream(java.io.Reader, java.nio.charset.Charset, int)">ReaderInputStream(Reader, Charset, int)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ReaderInputStream.html" title="class in org.apache.commons.io.input">ReaderInputStream</a></dt>
<dd>
<div class="block">Construct a new <a href="./org/apache/commons/io/input/ReaderInputStream.html" title="class in org.apache.commons.io.input"><code>ReaderInputStream</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ReaderInputStream.html#ReaderInputStream(java.io.Reader, java.nio.charset.Charset)">ReaderInputStream(Reader, Charset)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ReaderInputStream.html" title="class in org.apache.commons.io.input">ReaderInputStream</a></dt>
<dd>
<div class="block">Construct a new <a href="./org/apache/commons/io/input/ReaderInputStream.html" title="class in org.apache.commons.io.input"><code>ReaderInputStream</code></a> with a default input buffer size of
 1024 characters.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ReaderInputStream.html#ReaderInputStream(java.io.Reader, java.lang.String, int)">ReaderInputStream(Reader, String, int)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ReaderInputStream.html" title="class in org.apache.commons.io.input">ReaderInputStream</a></dt>
<dd>
<div class="block">Construct a new <a href="./org/apache/commons/io/input/ReaderInputStream.html" title="class in org.apache.commons.io.input"><code>ReaderInputStream</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ReaderInputStream.html#ReaderInputStream(java.io.Reader, java.lang.String)">ReaderInputStream(Reader, String)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ReaderInputStream.html" title="class in org.apache.commons.io.input">ReaderInputStream</a></dt>
<dd>
<div class="block">Construct a new <a href="./org/apache/commons/io/input/ReaderInputStream.html" title="class in org.apache.commons.io.input"><code>ReaderInputStream</code></a> with a default input buffer size of
 1024 characters.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ReaderInputStream.html#ReaderInputStream(java.io.Reader)">ReaderInputStream(Reader)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ReaderInputStream.html" title="class in org.apache.commons.io.input">ReaderInputStream</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/input/ReaderInputStream.html#ReaderInputStream(java.io.Reader, java.nio.charset.Charset)"><code>ReaderInputStream.ReaderInputStream(Reader, Charset)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#readFileToByteArray(java.io.File)">readFileToByteArray(File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Reads the contents of a file into a byte array.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#readFileToString(java.io.File, java.nio.charset.Charset)">readFileToString(File, Charset)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Reads the contents of a file into a String.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#readFileToString(java.io.File, java.lang.String)">readFileToString(File, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Reads the contents of a file into a String.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#readFileToString(java.io.File)">readFileToString(File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/FileUtils.html#readFileToString(java.io.File, java.nio.charset.Charset)"><code>FileUtils.readFileToString(File, Charset)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/SwappedDataInputStream.html#readFloat()">readFloat()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/SwappedDataInputStream.html" title="class in org.apache.commons.io.input">SwappedDataInputStream</a></dt>
<dd>
<div class="block">Delegates to <a href="./org/apache/commons/io/EndianUtils.html#readSwappedFloat(java.io.InputStream)"><code>EndianUtils.readSwappedFloat(InputStream)</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/SwappedDataInputStream.html#readFully(byte[])">readFully(byte[])</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/SwappedDataInputStream.html" title="class in org.apache.commons.io.input">SwappedDataInputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>read(byte[] data, int, int)</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/SwappedDataInputStream.html#readFully(byte[], int, int)">readFully(byte[], int, int)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/SwappedDataInputStream.html" title="class in org.apache.commons.io.input">SwappedDataInputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>read(byte[] data, int, int)</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#readFully(java.io.Reader, char[], int, int)">readFully(Reader, char[], int, int)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Reads the requested number of characters or fail if there are not enough left.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#readFully(java.io.Reader, char[])">readFully(Reader, char[])</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Reads the requested number of characters or fail if there are not enough left.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#readFully(java.io.InputStream, byte[], int, int)">readFully(InputStream, byte[], int, int)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Reads the requested number of bytes or fail if there are not enough left.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#readFully(java.io.InputStream, byte[])">readFully(InputStream, byte[])</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Reads the requested number of bytes or fail if there are not enough left.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#readFully(java.nio.channels.ReadableByteChannel, java.nio.ByteBuffer)">readFully(ReadableByteChannel, ByteBuffer)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Reads the requested number of bytes or fail if there are not enough left.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/SwappedDataInputStream.html#readInt()">readInt()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/SwappedDataInputStream.html" title="class in org.apache.commons.io.input">SwappedDataInputStream</a></dt>
<dd>
<div class="block">Delegates to <a href="./org/apache/commons/io/EndianUtils.html#readSwappedInteger(java.io.InputStream)"><code>EndianUtils.readSwappedInteger(InputStream)</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ReversedLinesFileReader.html#readLine()">readLine()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ReversedLinesFileReader.html" title="class in org.apache.commons.io.input">ReversedLinesFileReader</a></dt>
<dd>
<div class="block">Returns the lines of the file from bottom to top.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/SwappedDataInputStream.html#readLine()">readLine()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/SwappedDataInputStream.html" title="class in org.apache.commons.io.input">SwappedDataInputStream</a></dt>
<dd>
<div class="block">Not currently supported - throws <a href="http://download.oracle.com/javase/6/docs/api/java/lang/UnsupportedOperationException.html?is-external=true" title="class or interface in java.lang"><code>UnsupportedOperationException</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#readLines(java.io.File, java.nio.charset.Charset)">readLines(File, Charset)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Reads the contents of a file line by line to a List of Strings.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#readLines(java.io.File, java.lang.String)">readLines(File, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Reads the contents of a file line by line to a List of Strings.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#readLines(java.io.File)">readLines(File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/FileUtils.html#readLines(java.io.File, java.nio.charset.Charset)"><code>FileUtils.readLines(File, Charset)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#readLines(java.io.InputStream)">readLines(InputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/IOUtils.html#readLines(java.io.InputStream, java.nio.charset.Charset)"><code>IOUtils.readLines(InputStream, Charset)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#readLines(java.io.InputStream, java.nio.charset.Charset)">readLines(InputStream, Charset)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Gets the contents of an <code>InputStream</code> as a list of Strings,
 one entry per line, using the specified character encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#readLines(java.io.InputStream, java.lang.String)">readLines(InputStream, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Gets the contents of an <code>InputStream</code> as a list of Strings,
 one entry per line, using the specified character encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#readLines(java.io.Reader)">readLines(Reader)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Gets the contents of a <code>Reader</code> as a list of Strings,
 one entry per line.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/SwappedDataInputStream.html#readLong()">readLong()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/SwappedDataInputStream.html" title="class in org.apache.commons.io.input">SwappedDataInputStream</a></dt>
<dd>
<div class="block">Delegates to <a href="./org/apache/commons/io/EndianUtils.html#readSwappedLong(java.io.InputStream)"><code>EndianUtils.readSwappedLong(InputStream)</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/SwappedDataInputStream.html#readShort()">readShort()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/SwappedDataInputStream.html" title="class in org.apache.commons.io.input">SwappedDataInputStream</a></dt>
<dd>
<div class="block">Delegates to <a href="./org/apache/commons/io/EndianUtils.html#readSwappedShort(java.io.InputStream)"><code>EndianUtils.readSwappedShort(InputStream)</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#readSwappedDouble(byte[], int)">readSwappedDouble(byte[], int)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Reads a "double" value from a byte array at a given offset.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#readSwappedDouble(java.io.InputStream)">readSwappedDouble(InputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Reads a "double" value from an InputStream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#readSwappedFloat(byte[], int)">readSwappedFloat(byte[], int)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Reads a "float" value from a byte array at a given offset.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#readSwappedFloat(java.io.InputStream)">readSwappedFloat(InputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Reads a "float" value from an InputStream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#readSwappedInteger(byte[], int)">readSwappedInteger(byte[], int)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Reads a "int" value from a byte array at a given offset.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#readSwappedInteger(java.io.InputStream)">readSwappedInteger(InputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Reads a "int" value from an InputStream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#readSwappedLong(byte[], int)">readSwappedLong(byte[], int)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Reads a "long" value from a byte array at a given offset.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#readSwappedLong(java.io.InputStream)">readSwappedLong(InputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Reads a "long" value from an InputStream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#readSwappedShort(byte[], int)">readSwappedShort(byte[], int)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Reads a "short" value from a byte array at a given offset.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#readSwappedShort(java.io.InputStream)">readSwappedShort(InputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Reads a "short" value from an InputStream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#readSwappedUnsignedInteger(byte[], int)">readSwappedUnsignedInteger(byte[], int)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Reads an unsigned integer (32-bit) value from a byte array at a given
 offset.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#readSwappedUnsignedInteger(java.io.InputStream)">readSwappedUnsignedInteger(InputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Reads a unsigned integer (32-bit) from an InputStream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#readSwappedUnsignedShort(byte[], int)">readSwappedUnsignedShort(byte[], int)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Reads an unsigned short (16-bit) value from a byte array at a given
 offset.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#readSwappedUnsignedShort(java.io.InputStream)">readSwappedUnsignedShort(InputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Reads a unsigned short (16-bit) from an InputStream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/SwappedDataInputStream.html#readUnsignedByte()">readUnsignedByte()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/SwappedDataInputStream.html" title="class in org.apache.commons.io.input">SwappedDataInputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>read()</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/SwappedDataInputStream.html#readUnsignedShort()">readUnsignedShort()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/SwappedDataInputStream.html" title="class in org.apache.commons.io.input">SwappedDataInputStream</a></dt>
<dd>
<div class="block">Delegates to <a href="./org/apache/commons/io/EndianUtils.html#readSwappedUnsignedShort(java.io.InputStream)"><code>EndianUtils.readSwappedUnsignedShort(InputStream)</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/SwappedDataInputStream.html#readUTF()">readUTF()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/SwappedDataInputStream.html" title="class in org.apache.commons.io.input">SwappedDataInputStream</a></dt>
<dd>
<div class="block">Not currently supported - throws <a href="http://download.oracle.com/javase/6/docs/api/java/lang/UnsupportedOperationException.html?is-external=true" title="class or interface in java.lang"><code>UnsupportedOperationException</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ProxyReader.html#ready()">ready()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ProxyReader.html" title="class in org.apache.commons.io.input">ProxyReader</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>ready()</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileEntry.html#refresh(java.io.File)">refresh(File)</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileEntry.html" title="class in org.apache.commons.io.monitor">FileEntry</a></dt>
<dd>
<div class="block">Refresh the attributes from the <a href="http://download.oracle.com/javase/6/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io"><code>File</code></a>, indicating
 whether the file has changed.</div>
</dd>
<dt><a href="./org/apache/commons/io/filefilter/RegexFileFilter.html" title="class in org.apache.commons.io.filefilter"><span class="strong">RegexFileFilter</span></a> - Class in <a href="./org/apache/commons/io/filefilter/package-summary.html">org.apache.commons.io.filefilter</a></dt>
<dd>
<div class="block">Filters files using supplied regular expression(s).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/RegexFileFilter.html#RegexFileFilter(java.lang.String)">RegexFileFilter(String)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/RegexFileFilter.html" title="class in org.apache.commons.io.filefilter">RegexFileFilter</a></dt>
<dd>
<div class="block">Construct a new regular expression filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/RegexFileFilter.html#RegexFileFilter(java.lang.String, org.apache.commons.io.IOCase)">RegexFileFilter(String, IOCase)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/RegexFileFilter.html" title="class in org.apache.commons.io.filefilter">RegexFileFilter</a></dt>
<dd>
<div class="block">Construct a new regular expression filter with the specified flags case sensitivity.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/RegexFileFilter.html#RegexFileFilter(java.lang.String, int)">RegexFileFilter(String, int)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/RegexFileFilter.html" title="class in org.apache.commons.io.filefilter">RegexFileFilter</a></dt>
<dd>
<div class="block">Construct a new regular expression filter with the specified flags.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/RegexFileFilter.html#RegexFileFilter(java.util.regex.Pattern)">RegexFileFilter(Pattern)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/RegexFileFilter.html" title="class in org.apache.commons.io.filefilter">RegexFileFilter</a></dt>
<dd>
<div class="block">Construct a new regular expression filter for a compiled regular expression</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/LineIterator.html#remove()">remove()</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/LineIterator.html" title="class in org.apache.commons.io">LineIterator</a></dt>
<dd>
<div class="block">Unsupported.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#removeExtension(java.lang.String)">removeExtension(String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Removes the extension from a filename.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/AndFileFilter.html#removeFileFilter(org.apache.commons.io.filefilter.IOFileFilter)">removeFileFilter(IOFileFilter)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/AndFileFilter.html" title="class in org.apache.commons.io.filefilter">AndFileFilter</a></dt>
<dd>
<div class="block">Removes the specified file filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/ConditionalFileFilter.html#removeFileFilter(org.apache.commons.io.filefilter.IOFileFilter)">removeFileFilter(IOFileFilter)</a></span> - Method in interface org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/ConditionalFileFilter.html" title="interface in org.apache.commons.io.filefilter">ConditionalFileFilter</a></dt>
<dd>
<div class="block">Removes the specified file filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/OrFileFilter.html#removeFileFilter(org.apache.commons.io.filefilter.IOFileFilter)">removeFileFilter(IOFileFilter)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/OrFileFilter.html" title="class in org.apache.commons.io.filefilter">OrFileFilter</a></dt>
<dd>
<div class="block">Removes the specified file filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationObserver.html#removeListener(org.apache.commons.io.monitor.FileAlterationListener)">removeListener(FileAlterationListener)</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationObserver.html" title="class in org.apache.commons.io.monitor">FileAlterationObserver</a></dt>
<dd>
<div class="block">Remove a file system listener.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationMonitor.html#removeObserver(org.apache.commons.io.monitor.FileAlterationObserver)">removeObserver(FileAlterationObserver)</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationMonitor.html" title="class in org.apache.commons.io.monitor">FileAlterationMonitor</a></dt>
<dd>
<div class="block">Remove a file system observer from this monitor.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/Charsets.html#requiredCharsets()">requiredCharsets()</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/Charsets.html" title="class in org.apache.commons.io">Charsets</a></dt>
<dd>
<div class="block">Constructs a sorted map from canonical charset names to charset objects required of every implementation of the
 Java platform.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BOMInputStream.html#reset()">reset()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BOMInputStream.html" title="class in org.apache.commons.io.input">BOMInputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>reset()</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BoundedInputStream.html#reset()">reset()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BoundedInputStream.html" title="class in org.apache.commons.io.input">BoundedInputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>reset()</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BrokenInputStream.html#reset()">reset()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BrokenInputStream.html" title="class in org.apache.commons.io.input">BrokenInputStream</a></dt>
<dd>
<div class="block">Throws the configured exception.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CharSequenceInputStream.html#reset()">reset()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CharSequenceInputStream.html" title="class in org.apache.commons.io.input">CharSequenceInputStream</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CharSequenceReader.html#reset()">reset()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CharSequenceReader.html" title="class in org.apache.commons.io.input">CharSequenceReader</a></dt>
<dd>
<div class="block">Reset the reader to the last marked position (or the beginning if
 mark has not been called).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/NullInputStream.html#reset()">reset()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/NullInputStream.html" title="class in org.apache.commons.io.input">NullInputStream</a></dt>
<dd>
<div class="block">Reset the stream to the point when mark was last called.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/NullReader.html#reset()">reset()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/NullReader.html" title="class in org.apache.commons.io.input">NullReader</a></dt>
<dd>
<div class="block">Reset the stream to the point when mark was last called.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ProxyInputStream.html#reset()">reset()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ProxyInputStream.html" title="class in org.apache.commons.io.input">ProxyInputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>reset()</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ProxyReader.html#reset()">reset()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ProxyReader.html" title="class in org.apache.commons.io.input">ProxyReader</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>reset()</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ByteArrayOutputStream.html#reset()">reset()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ByteArrayOutputStream.html" title="class in org.apache.commons.io.output">ByteArrayOutputStream</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CountingInputStream.html#resetByteCount()">resetByteCount()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CountingInputStream.html" title="class in org.apache.commons.io.input">CountingInputStream</a></dt>
<dd>
<div class="block">Set the byte count back to 0.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/CountingOutputStream.html#resetByteCount()">resetByteCount()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/CountingOutputStream.html" title="class in org.apache.commons.io.output">CountingOutputStream</a></dt>
<dd>
<div class="block">Set the byte count back to 0.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ThresholdingOutputStream.html#resetByteCount()">resetByteCount()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ThresholdingOutputStream.html" title="class in org.apache.commons.io.output">ThresholdingOutputStream</a></dt>
<dd>
<div class="block">Resets the byteCount to zero.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CountingInputStream.html#resetCount()">resetCount()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CountingInputStream.html" title="class in org.apache.commons.io.input">CountingInputStream</a></dt>
<dd>
<div class="block">Set the byte count back to 0.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/CountingOutputStream.html#resetCount()">resetCount()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/CountingOutputStream.html" title="class in org.apache.commons.io.output">CountingOutputStream</a></dt>
<dd>
<div class="block">Set the byte count back to 0.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ClassLoaderObjectInputStream.html#resolveClass(java.io.ObjectStreamClass)">resolveClass(ObjectStreamClass)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ClassLoaderObjectInputStream.html" title="class in org.apache.commons.io.input">ClassLoaderObjectInputStream</a></dt>
<dd>
<div class="block">Resolve a class specified by the descriptor using the
 specified ClassLoader or the super ClassLoader.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ClassLoaderObjectInputStream.html#resolveProxyClass(java.lang.String[])">resolveProxyClass(String[])</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ClassLoaderObjectInputStream.html" title="class in org.apache.commons.io.input">ClassLoaderObjectInputStream</a></dt>
<dd>
<div class="block">Create a proxy class that implements the specified interfaces using
 the specified ClassLoader or the super ClassLoader.</div>
</dd>
<dt><a href="./org/apache/commons/io/input/ReversedLinesFileReader.html" title="class in org.apache.commons.io.input"><span class="strong">ReversedLinesFileReader</span></a> - Class in <a href="./org/apache/commons/io/input/package-summary.html">org.apache.commons.io.input</a></dt>
<dd>
<div class="block">Reads lines in a file reversely (similar to a BufferedReader, but starting at
 the last line).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ReversedLinesFileReader.html#ReversedLinesFileReader(java.io.File)">ReversedLinesFileReader(File)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ReversedLinesFileReader.html" title="class in org.apache.commons.io.input">ReversedLinesFileReader</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/input/ReversedLinesFileReader.html#ReversedLinesFileReader(java.io.File, java.nio.charset.Charset)"><code>ReversedLinesFileReader.ReversedLinesFileReader(File, Charset)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ReversedLinesFileReader.html#ReversedLinesFileReader(java.io.File, java.nio.charset.Charset)">ReversedLinesFileReader(File, Charset)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ReversedLinesFileReader.html" title="class in org.apache.commons.io.input">ReversedLinesFileReader</a></dt>
<dd>
<div class="block">Creates a ReversedLinesFileReader with default block size of 4KB and the
 specified encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ReversedLinesFileReader.html#ReversedLinesFileReader(java.io.File, int, java.nio.charset.Charset)">ReversedLinesFileReader(File, int, Charset)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ReversedLinesFileReader.html" title="class in org.apache.commons.io.input">ReversedLinesFileReader</a></dt>
<dd>
<div class="block">Creates a ReversedLinesFileReader with the given block size and encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ReversedLinesFileReader.html#ReversedLinesFileReader(java.io.File, int, java.lang.String)">ReversedLinesFileReader(File, int, String)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ReversedLinesFileReader.html" title="class in org.apache.commons.io.input">ReversedLinesFileReader</a></dt>
<dd>
<div class="block">Creates a ReversedLinesFileReader with the given block size and encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/Tailer.html#run()">run()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/Tailer.html" title="class in org.apache.commons.io.input">Tailer</a></dt>
<dd>
<div class="block">Follows changes in the file, calling the TailerListener's handle method for each new line.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationMonitor.html#run()">run()</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationMonitor.html" title="class in org.apache.commons.io.monitor">FileAlterationMonitor</a></dt>
<dd>
<div class="block">Run.</div>
</dd>
</dl>
<a name="_S_">
<!--   -->
</a>
<h2 class="title">S</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/commons/io/IOCase.html#SENSITIVE">SENSITIVE</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/IOCase.html" title="class in org.apache.commons.io">IOCase</a></dt>
<dd>
<div class="block">The constant for case sensitive regardless of operating system.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#separatorsToSystem(java.lang.String)">separatorsToSystem(String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Converts all separators to the system separator.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#separatorsToUnix(java.lang.String)">separatorsToUnix(String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Converts all separators to the Unix separator of forward slash.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#separatorsToWindows(java.lang.String)">separatorsToWindows(String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Converts all separators to the Windows separator of backslash.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileEntry.html#setChildren(org.apache.commons.io.monitor.FileEntry[])">setChildren(FileEntry[])</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileEntry.html" title="class in org.apache.commons.io.monitor">FileEntry</a></dt>
<dd>
<div class="block">Set the directory's files.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileEntry.html#setDirectory(boolean)">setDirectory(boolean)</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileEntry.html" title="class in org.apache.commons.io.monitor">FileEntry</a></dt>
<dd>
<div class="block">Set whether the file is a directory or not.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileEntry.html#setExists(boolean)">setExists(boolean)</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileEntry.html" title="class in org.apache.commons.io.monitor">FileEntry</a></dt>
<dd>
<div class="block">Set whether the file existed the last time it
 was checked.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/AndFileFilter.html#setFileFilters(java.util.List)">setFileFilters(List&lt;IOFileFilter&gt;)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/AndFileFilter.html" title="class in org.apache.commons.io.filefilter">AndFileFilter</a></dt>
<dd>
<div class="block">Sets the list of file filters, replacing any previously configured
 file filters on this filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/ConditionalFileFilter.html#setFileFilters(java.util.List)">setFileFilters(List&lt;IOFileFilter&gt;)</a></span> - Method in interface org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/ConditionalFileFilter.html" title="interface in org.apache.commons.io.filefilter">ConditionalFileFilter</a></dt>
<dd>
<div class="block">Sets the list of file filters, replacing any previously configured
 file filters on this filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/OrFileFilter.html#setFileFilters(java.util.List)">setFileFilters(List&lt;IOFileFilter&gt;)</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/OrFileFilter.html" title="class in org.apache.commons.io.filefilter">OrFileFilter</a></dt>
<dd>
<div class="block">Sets the list of file filters, replacing any previously configured
 file filters on this filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileEntry.html#setLastModified(long)">setLastModified(long)</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileEntry.html" title="class in org.apache.commons.io.monitor">FileEntry</a></dt>
<dd>
<div class="block">Return the last modified time from the last time it
 was checked.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileEntry.html#setLength(long)">setLength(long)</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileEntry.html" title="class in org.apache.commons.io.monitor">FileEntry</a></dt>
<dd>
<div class="block">Set the length.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileEntry.html#setName(java.lang.String)">setName(String)</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileEntry.html" title="class in org.apache.commons.io.monitor">FileEntry</a></dt>
<dd>
<div class="block">Set the file name.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BoundedInputStream.html#setPropagateClose(boolean)">setPropagateClose(boolean)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BoundedInputStream.html" title="class in org.apache.commons.io.input">BoundedInputStream</a></dt>
<dd>
<div class="block">Set whether the <a href="./org/apache/commons/io/input/BoundedInputStream.html#close()"><code>BoundedInputStream.close()</code></a> method
 should propagate to the underling <a href="http://download.oracle.com/javase/6/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationMonitor.html#setThreadFactory(java.util.concurrent.ThreadFactory)">setThreadFactory(ThreadFactory)</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationMonitor.html" title="class in org.apache.commons.io.monitor">FileAlterationMonitor</a></dt>
<dd>
<div class="block">Set the thread factory.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ByteArrayOutputStream.html#size()">size()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ByteArrayOutputStream.html" title="class in org.apache.commons.io.output">ByteArrayOutputStream</a></dt>
<dd>
<div class="block">Return the current size of the byte array.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/SizeFileComparator.html#SIZE_COMPARATOR">SIZE_COMPARATOR</a></span> - Static variable in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/SizeFileComparator.html" title="class in org.apache.commons.io.comparator">SizeFileComparator</a></dt>
<dd>
<div class="block">Size comparator instance - directories are treated as zero size</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/SizeFileComparator.html#SIZE_REVERSE">SIZE_REVERSE</a></span> - Static variable in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/SizeFileComparator.html" title="class in org.apache.commons.io.comparator">SizeFileComparator</a></dt>
<dd>
<div class="block">Reverse size comparator instance - directories are treated as zero size</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/SizeFileComparator.html#SIZE_SUMDIR_COMPARATOR">SIZE_SUMDIR_COMPARATOR</a></span> - Static variable in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/SizeFileComparator.html" title="class in org.apache.commons.io.comparator">SizeFileComparator</a></dt>
<dd>
<div class="block">Size comparator instance which sums the size of a directory's contents
 using <a href="./org/apache/commons/io/FileUtils.html#sizeOfDirectory(java.io.File)"><code>FileUtils.sizeOfDirectory(File)</code></a></div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/SizeFileComparator.html#SIZE_SUMDIR_REVERSE">SIZE_SUMDIR_REVERSE</a></span> - Static variable in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/SizeFileComparator.html" title="class in org.apache.commons.io.comparator">SizeFileComparator</a></dt>
<dd>
<div class="block">Reverse size comparator instance which sums the size of a directory's contents
 using <a href="./org/apache/commons/io/FileUtils.html#sizeOfDirectory(java.io.File)"><code>FileUtils.sizeOfDirectory(File)</code></a></div>
</dd>
<dt><a href="./org/apache/commons/io/comparator/SizeFileComparator.html" title="class in org.apache.commons.io.comparator"><span class="strong">SizeFileComparator</span></a> - Class in <a href="./org/apache/commons/io/comparator/package-summary.html">org.apache.commons.io.comparator</a></dt>
<dd>
<div class="block">Compare the <b>length/size</b> of two files for order (see
 <a href="http://download.oracle.com/javase/6/docs/api/java/io/File.html?is-external=true#length()" title="class or interface in java.io"><code>File.length()</code></a> and <a href="./org/apache/commons/io/FileUtils.html#sizeOfDirectory(java.io.File)"><code>FileUtils.sizeOfDirectory(File)</code></a>).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/SizeFileComparator.html#SizeFileComparator()">SizeFileComparator()</a></span> - Constructor for class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/SizeFileComparator.html" title="class in org.apache.commons.io.comparator">SizeFileComparator</a></dt>
<dd>
<div class="block">Construct a file size comparator instance (directories treated as zero size).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/SizeFileComparator.html#SizeFileComparator(boolean)">SizeFileComparator(boolean)</a></span> - Constructor for class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/SizeFileComparator.html" title="class in org.apache.commons.io.comparator">SizeFileComparator</a></dt>
<dd>
<div class="block">Construct a file size comparator instance specifying whether the size of
 the directory contents should be aggregated.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#sizeFileFilter(long)">sizeFileFilter(long)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Returns a filter that returns true if the file is bigger than a certain size.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#sizeFileFilter(long, boolean)">sizeFileFilter(long, boolean)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Returns a filter that filters based on file size.</div>
</dd>
<dt><a href="./org/apache/commons/io/filefilter/SizeFileFilter.html" title="class in org.apache.commons.io.filefilter"><span class="strong">SizeFileFilter</span></a> - Class in <a href="./org/apache/commons/io/filefilter/package-summary.html">org.apache.commons.io.filefilter</a></dt>
<dd>
<div class="block">Filters files based on size, can filter either smaller files or
 files equal to or larger than a given threshold.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/SizeFileFilter.html#SizeFileFilter(long)">SizeFileFilter(long)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/SizeFileFilter.html" title="class in org.apache.commons.io.filefilter">SizeFileFilter</a></dt>
<dd>
<div class="block">Constructs a new size file filter for files equal to or 
 larger than a certain size.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/SizeFileFilter.html#SizeFileFilter(long, boolean)">SizeFileFilter(long, boolean)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/SizeFileFilter.html" title="class in org.apache.commons.io.filefilter">SizeFileFilter</a></dt>
<dd>
<div class="block">Constructs a new size file filter for files based on a certain size
 threshold.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#sizeOf(java.io.File)">sizeOf(File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Returns the size of the specified file or directory.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#sizeOfAsBigInteger(java.io.File)">sizeOfAsBigInteger(File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Returns the size of the specified file or directory.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#sizeOfDirectory(java.io.File)">sizeOfDirectory(File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Counts the size of a directory recursively (sum of the length of all files).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#sizeOfDirectoryAsBigInteger(java.io.File)">sizeOfDirectoryAsBigInteger(File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Counts the size of a directory recursively (sum of the length of all files).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#sizeRangeFileFilter(long, long)">sizeRangeFileFilter(long, long)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Returns a filter that accepts files whose size is &gt;= minimum size
 and &lt;= maximum size.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BOMInputStream.html#skip(long)">skip(long)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BOMInputStream.html" title="class in org.apache.commons.io.input">BOMInputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>skip(long)</code> method, detecting and optionallyskipping BOM.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BoundedInputStream.html#skip(long)">skip(long)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BoundedInputStream.html" title="class in org.apache.commons.io.input">BoundedInputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>skip(long)</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BrokenInputStream.html#skip(long)">skip(long)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BrokenInputStream.html" title="class in org.apache.commons.io.input">BrokenInputStream</a></dt>
<dd>
<div class="block">Throws the configured exception.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CharSequenceInputStream.html#skip(long)">skip(long)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CharSequenceInputStream.html" title="class in org.apache.commons.io.input">CharSequenceInputStream</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CharSequenceReader.html#skip(long)">skip(long)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CharSequenceReader.html" title="class in org.apache.commons.io.input">CharSequenceReader</a></dt>
<dd>
<div class="block">Skip the specified number of characters.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CountingInputStream.html#skip(long)">skip(long)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CountingInputStream.html" title="class in org.apache.commons.io.input">CountingInputStream</a></dt>
<dd>
<div class="block">Skips the stream over the specified number of bytes, adding the skipped
 amount to the count.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/NullInputStream.html#skip(long)">skip(long)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/NullInputStream.html" title="class in org.apache.commons.io.input">NullInputStream</a></dt>
<dd>
<div class="block">Skip a specified number of bytes.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/NullReader.html#skip(long)">skip(long)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/NullReader.html" title="class in org.apache.commons.io.input">NullReader</a></dt>
<dd>
<div class="block">Skip a specified number of characters.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ProxyInputStream.html#skip(long)">skip(long)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ProxyInputStream.html" title="class in org.apache.commons.io.input">ProxyInputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>skip(long)</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/ProxyReader.html#skip(long)">skip(long)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/ProxyReader.html" title="class in org.apache.commons.io.input">ProxyReader</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>skip(long)</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#skip(java.io.InputStream, long)">skip(InputStream, long)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Skips bytes from an input byte stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#skip(java.nio.channels.ReadableByteChannel, long)">skip(ReadableByteChannel, long)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Skips bytes from a ReadableByteChannel.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#skip(java.io.Reader, long)">skip(Reader, long)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Skips characters from an input character stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/SwappedDataInputStream.html#skipBytes(int)">skipBytes(int)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/SwappedDataInputStream.html" title="class in org.apache.commons.io.input">SwappedDataInputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>skip(int)</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#skipFully(java.io.InputStream, long)">skipFully(InputStream, long)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Skips the requested number of bytes or fail if there are not enough left.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#skipFully(java.nio.channels.ReadableByteChannel, long)">skipFully(ReadableByteChannel, long)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Skips the requested number of bytes or fail if there are not enough left.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#skipFully(java.io.Reader, long)">skipFully(Reader, long)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Skips the requested number of characters or fail if there are not enough left.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationMonitor.html#start()">start()</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationMonitor.html" title="class in org.apache.commons.io.monitor">FileAlterationMonitor</a></dt>
<dd>
<div class="block">Start monitoring.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/Tailer.html#stop()">stop()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/Tailer.html" title="class in org.apache.commons.io.input">Tailer</a></dt>
<dd>
<div class="block">Allows the tailer to complete its current loop and return.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationMonitor.html#stop()">stop()</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationMonitor.html" title="class in org.apache.commons.io.monitor">FileAlterationMonitor</a></dt>
<dd>
<div class="block">Stop monitoring.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationMonitor.html#stop(long)">stop(long)</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationMonitor.html" title="class in org.apache.commons.io.monitor">FileAlterationMonitor</a></dt>
<dd>
<div class="block">Stop monitoring.</div>
</dd>
<dt><a href="./org/apache/commons/io/output/StringBuilderWriter.html" title="class in org.apache.commons.io.output"><span class="strong">StringBuilderWriter</span></a> - Class in <a href="./org/apache/commons/io/output/package-summary.html">org.apache.commons.io.output</a></dt>
<dd>
<div class="block"><a href="http://download.oracle.com/javase/6/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><code>Writer</code></a> implementation that outputs to a <a href="http://download.oracle.com/javase/6/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang"><code>StringBuilder</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/StringBuilderWriter.html#StringBuilderWriter()">StringBuilderWriter()</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/StringBuilderWriter.html" title="class in org.apache.commons.io.output">StringBuilderWriter</a></dt>
<dd>
<div class="block">Construct a new <a href="http://download.oracle.com/javase/6/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang"><code>StringBuilder</code></a> instance with default capacity.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/StringBuilderWriter.html#StringBuilderWriter(int)">StringBuilderWriter(int)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/StringBuilderWriter.html" title="class in org.apache.commons.io.output">StringBuilderWriter</a></dt>
<dd>
<div class="block">Construct a new <a href="http://download.oracle.com/javase/6/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang"><code>StringBuilder</code></a> instance with the specified capacity.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/StringBuilderWriter.html#StringBuilderWriter(java.lang.StringBuilder)">StringBuilderWriter(StringBuilder)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/StringBuilderWriter.html" title="class in org.apache.commons.io.output">StringBuilderWriter</a></dt>
<dd>
<div class="block">Construct a new instance with the specified <a href="http://download.oracle.com/javase/6/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang"><code>StringBuilder</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#suffixFileFilter(java.lang.String)">suffixFileFilter(String)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Returns a filter that returns true if the filename ends with the specified text.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#suffixFileFilter(java.lang.String, org.apache.commons.io.IOCase)">suffixFileFilter(String, IOCase)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Returns a filter that returns true if the filename ends with the specified text.</div>
</dd>
<dt><a href="./org/apache/commons/io/filefilter/SuffixFileFilter.html" title="class in org.apache.commons.io.filefilter"><span class="strong">SuffixFileFilter</span></a> - Class in <a href="./org/apache/commons/io/filefilter/package-summary.html">org.apache.commons.io.filefilter</a></dt>
<dd>
<div class="block">Filters files based on the suffix (what the filename ends with).</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/SuffixFileFilter.html#SuffixFileFilter(java.lang.String)">SuffixFileFilter(String)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/SuffixFileFilter.html" title="class in org.apache.commons.io.filefilter">SuffixFileFilter</a></dt>
<dd>
<div class="block">Constructs a new Suffix file filter for a single extension.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/SuffixFileFilter.html#SuffixFileFilter(java.lang.String, org.apache.commons.io.IOCase)">SuffixFileFilter(String, IOCase)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/SuffixFileFilter.html" title="class in org.apache.commons.io.filefilter">SuffixFileFilter</a></dt>
<dd>
<div class="block">Constructs a new Suffix file filter for a single extension
 specifying case-sensitivity.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/SuffixFileFilter.html#SuffixFileFilter(java.lang.String[])">SuffixFileFilter(String[])</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/SuffixFileFilter.html" title="class in org.apache.commons.io.filefilter">SuffixFileFilter</a></dt>
<dd>
<div class="block">Constructs a new Suffix file filter for an array of suffixs.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/SuffixFileFilter.html#SuffixFileFilter(java.lang.String[], org.apache.commons.io.IOCase)">SuffixFileFilter(String[], IOCase)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/SuffixFileFilter.html" title="class in org.apache.commons.io.filefilter">SuffixFileFilter</a></dt>
<dd>
<div class="block">Constructs a new Suffix file filter for an array of suffixs
 specifying case-sensitivity.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/SuffixFileFilter.html#SuffixFileFilter(java.util.List)">SuffixFileFilter(List&lt;String&gt;)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/SuffixFileFilter.html" title="class in org.apache.commons.io.filefilter">SuffixFileFilter</a></dt>
<dd>
<div class="block">Constructs a new Suffix file filter for a list of suffixes.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/SuffixFileFilter.html#SuffixFileFilter(java.util.List, org.apache.commons.io.IOCase)">SuffixFileFilter(List&lt;String&gt;, IOCase)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/SuffixFileFilter.html" title="class in org.apache.commons.io.filefilter">SuffixFileFilter</a></dt>
<dd>
<div class="block">Constructs a new Suffix file filter for a list of suffixes
 specifying case-sensitivity.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#swapDouble(double)">swapDouble(double)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Converts a "double" value between endian systems.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#swapFloat(float)">swapFloat(float)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Converts a "float" value between endian systems.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#swapInteger(int)">swapInteger(int)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Converts a "int" value between endian systems.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#swapLong(long)">swapLong(long)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Converts a "long" value between endian systems.</div>
</dd>
<dt><a href="./org/apache/commons/io/input/SwappedDataInputStream.html" title="class in org.apache.commons.io.input"><span class="strong">SwappedDataInputStream</span></a> - Class in <a href="./org/apache/commons/io/input/package-summary.html">org.apache.commons.io.input</a></dt>
<dd>
<div class="block">DataInput for systems relying on little endian data formats.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/SwappedDataInputStream.html#SwappedDataInputStream(java.io.InputStream)">SwappedDataInputStream(InputStream)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/SwappedDataInputStream.html" title="class in org.apache.commons.io.input">SwappedDataInputStream</a></dt>
<dd>
<div class="block">Constructs a SwappedDataInputStream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#swapShort(short)">swapShort(short)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Converts a "short" value between endian systems.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOCase.html#SYSTEM">SYSTEM</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/IOCase.html" title="class in org.apache.commons.io">IOCase</a></dt>
<dd>
<div class="block">The constant for case sensitivity determined by the current operating system.</div>
</dd>
</dl>
<a name="_T_">
<!--   -->
</a>
<h2 class="title">T</h2>
<dl>
<dt><a href="./org/apache/commons/io/input/TaggedInputStream.html" title="class in org.apache.commons.io.input"><span class="strong">TaggedInputStream</span></a> - Class in <a href="./org/apache/commons/io/input/package-summary.html">org.apache.commons.io.input</a></dt>
<dd>
<div class="block">An input stream decorator that tags potential exceptions so that the
 stream that caused the exception can easily be identified.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/TaggedInputStream.html#TaggedInputStream(java.io.InputStream)">TaggedInputStream(InputStream)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/TaggedInputStream.html" title="class in org.apache.commons.io.input">TaggedInputStream</a></dt>
<dd>
<div class="block">Creates a tagging decorator for the given input stream.</div>
</dd>
<dt><a href="./org/apache/commons/io/TaggedIOException.html" title="class in org.apache.commons.io"><span class="strong">TaggedIOException</span></a> - Exception in <a href="./org/apache/commons/io/package-summary.html">org.apache.commons.io</a></dt>
<dd>
<div class="block">An <a href="http://download.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io"><code>IOException</code></a> decorator that adds a serializable tag to the
 wrapped exception.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/TaggedIOException.html#TaggedIOException(java.io.IOException, java.io.Serializable)">TaggedIOException(IOException, Serializable)</a></span> - Constructor for exception org.apache.commons.io.<a href="./org/apache/commons/io/TaggedIOException.html" title="class in org.apache.commons.io">TaggedIOException</a></dt>
<dd>
<div class="block">Creates a tagged wrapper for the given exception.</div>
</dd>
<dt><a href="./org/apache/commons/io/output/TaggedOutputStream.html" title="class in org.apache.commons.io.output"><span class="strong">TaggedOutputStream</span></a> - Class in <a href="./org/apache/commons/io/output/package-summary.html">org.apache.commons.io.output</a></dt>
<dd>
<div class="block">An output stream decorator that tags potential exceptions so that the
 stream that caused the exception can easily be identified.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/TaggedOutputStream.html#TaggedOutputStream(java.io.OutputStream)">TaggedOutputStream(OutputStream)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/TaggedOutputStream.html" title="class in org.apache.commons.io.output">TaggedOutputStream</a></dt>
<dd>
<div class="block">Creates a tagging decorator for the given output stream.</div>
</dd>
<dt><a href="./org/apache/commons/io/input/Tailer.html" title="class in org.apache.commons.io.input"><span class="strong">Tailer</span></a> - Class in <a href="./org/apache/commons/io/input/package-summary.html">org.apache.commons.io.input</a></dt>
<dd>
<div class="block">Simple implementation of the unix "tail -f" functionality.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/Tailer.html#Tailer(java.io.File, org.apache.commons.io.input.TailerListener)">Tailer(File, TailerListener)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/Tailer.html" title="class in org.apache.commons.io.input">Tailer</a></dt>
<dd>
<div class="block">Creates a Tailer for the given file, starting from the beginning, with the default delay of 1.0s.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/Tailer.html#Tailer(java.io.File, org.apache.commons.io.input.TailerListener, long)">Tailer(File, TailerListener, long)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/Tailer.html" title="class in org.apache.commons.io.input">Tailer</a></dt>
<dd>
<div class="block">Creates a Tailer for the given file, starting from the beginning.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/Tailer.html#Tailer(java.io.File, org.apache.commons.io.input.TailerListener, long, boolean)">Tailer(File, TailerListener, long, boolean)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/Tailer.html" title="class in org.apache.commons.io.input">Tailer</a></dt>
<dd>
<div class="block">Creates a Tailer for the given file, with a delay other than the default 1.0s.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/Tailer.html#Tailer(java.io.File, org.apache.commons.io.input.TailerListener, long, boolean, boolean)">Tailer(File, TailerListener, long, boolean, boolean)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/Tailer.html" title="class in org.apache.commons.io.input">Tailer</a></dt>
<dd>
<div class="block">Creates a Tailer for the given file, with a delay other than the default 1.0s.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/Tailer.html#Tailer(java.io.File, org.apache.commons.io.input.TailerListener, long, boolean, int)">Tailer(File, TailerListener, long, boolean, int)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/Tailer.html" title="class in org.apache.commons.io.input">Tailer</a></dt>
<dd>
<div class="block">Creates a Tailer for the given file, with a specified buffer size.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/Tailer.html#Tailer(java.io.File, org.apache.commons.io.input.TailerListener, long, boolean, boolean, int)">Tailer(File, TailerListener, long, boolean, boolean, int)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/Tailer.html" title="class in org.apache.commons.io.input">Tailer</a></dt>
<dd>
<div class="block">Creates a Tailer for the given file, with a specified buffer size.</div>
</dd>
<dt><a href="./org/apache/commons/io/input/TailerListener.html" title="interface in org.apache.commons.io.input"><span class="strong">TailerListener</span></a> - Interface in <a href="./org/apache/commons/io/input/package-summary.html">org.apache.commons.io.input</a></dt>
<dd>
<div class="block">Listener for events from a <a href="./org/apache/commons/io/input/Tailer.html" title="class in org.apache.commons.io.input"><code>Tailer</code></a>.</div>
</dd>
<dt><a href="./org/apache/commons/io/input/TailerListenerAdapter.html" title="class in org.apache.commons.io.input"><span class="strong">TailerListenerAdapter</span></a> - Class in <a href="./org/apache/commons/io/input/package-summary.html">org.apache.commons.io.input</a></dt>
<dd>
<div class="block"><a href="./org/apache/commons/io/input/TailerListener.html" title="interface in org.apache.commons.io.input"><code>TailerListener</code></a> Adapter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/TailerListenerAdapter.html#TailerListenerAdapter()">TailerListenerAdapter()</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/TailerListenerAdapter.html" title="class in org.apache.commons.io.input">TailerListenerAdapter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="./org/apache/commons/io/input/TeeInputStream.html" title="class in org.apache.commons.io.input"><span class="strong">TeeInputStream</span></a> - Class in <a href="./org/apache/commons/io/input/package-summary.html">org.apache.commons.io.input</a></dt>
<dd>
<div class="block">InputStream proxy that transparently writes a copy of all bytes read
 from the proxied stream to a given OutputStream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/TeeInputStream.html#TeeInputStream(java.io.InputStream, java.io.OutputStream)">TeeInputStream(InputStream, OutputStream)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/TeeInputStream.html" title="class in org.apache.commons.io.input">TeeInputStream</a></dt>
<dd>
<div class="block">Creates a TeeInputStream that proxies the given <a href="http://download.oracle.com/javase/6/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a>
 and copies all read bytes to the given <a href="http://download.oracle.com/javase/6/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io"><code>OutputStream</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/TeeInputStream.html#TeeInputStream(java.io.InputStream, java.io.OutputStream, boolean)">TeeInputStream(InputStream, OutputStream, boolean)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/TeeInputStream.html" title="class in org.apache.commons.io.input">TeeInputStream</a></dt>
<dd>
<div class="block">Creates a TeeInputStream that proxies the given <a href="http://download.oracle.com/javase/6/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><code>InputStream</code></a>
 and copies all read bytes to the given <a href="http://download.oracle.com/javase/6/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io"><code>OutputStream</code></a>.</div>
</dd>
<dt><a href="./org/apache/commons/io/output/TeeOutputStream.html" title="class in org.apache.commons.io.output"><span class="strong">TeeOutputStream</span></a> - Class in <a href="./org/apache/commons/io/output/package-summary.html">org.apache.commons.io.output</a></dt>
<dd>
<div class="block">Classic splitter of OutputStream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/TeeOutputStream.html#TeeOutputStream(java.io.OutputStream, java.io.OutputStream)">TeeOutputStream(OutputStream, OutputStream)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/TeeOutputStream.html" title="class in org.apache.commons.io.output">TeeOutputStream</a></dt>
<dd>
<div class="block">Constructs a TeeOutputStream.</div>
</dd>
<dt><a href="./org/apache/commons/io/output/ThresholdingOutputStream.html" title="class in org.apache.commons.io.output"><span class="strong">ThresholdingOutputStream</span></a> - Class in <a href="./org/apache/commons/io/output/package-summary.html">org.apache.commons.io.output</a></dt>
<dd>
<div class="block">An output stream which triggers an event when a specified number of bytes of
 data have been written to it.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ThresholdingOutputStream.html#ThresholdingOutputStream(int)">ThresholdingOutputStream(int)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ThresholdingOutputStream.html" title="class in org.apache.commons.io.output">ThresholdingOutputStream</a></dt>
<dd>
<div class="block">Constructs an instance of this class which will trigger an event at the
 specified threshold.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/DeferredFileOutputStream.html#thresholdReached()">thresholdReached()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/DeferredFileOutputStream.html" title="class in org.apache.commons.io.output">DeferredFileOutputStream</a></dt>
<dd>
<div class="block">Switches the underlying output stream from a memory based stream to one
 that is backed by disk.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ThresholdingOutputStream.html#thresholdReached()">thresholdReached()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ThresholdingOutputStream.html" title="class in org.apache.commons.io.output">ThresholdingOutputStream</a></dt>
<dd>
<div class="block">Indicates that the configured threshold has been reached, and that a
 subclass should take whatever action necessary on this event.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/TaggedIOException.html#throwCauseIfTaggedWith(java.lang.Throwable, java.lang.Object)">throwCauseIfTaggedWith(Throwable, Object)</a></span> - Static method in exception org.apache.commons.io.<a href="./org/apache/commons/io/TaggedIOException.html" title="class in org.apache.commons.io">TaggedIOException</a></dt>
<dd>
<div class="block">Throws the original <a href="http://download.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io"><code>IOException</code></a> if the given throwable is
 a <a href="./org/apache/commons/io/TaggedIOException.html" title="class in org.apache.commons.io"><code>TaggedIOException</code></a> decorator the given tag.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/TaggedInputStream.html#throwIfCauseOf(java.lang.Throwable)">throwIfCauseOf(Throwable)</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/TaggedInputStream.html" title="class in org.apache.commons.io.input">TaggedInputStream</a></dt>
<dd>
<div class="block">Re-throws the original exception thrown by this stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/TaggedOutputStream.html#throwIfCauseOf(java.lang.Exception)">throwIfCauseOf(Exception)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/TaggedOutputStream.html" title="class in org.apache.commons.io.output">TaggedOutputStream</a></dt>
<dd>
<div class="block">Re-throws the original exception thrown by this stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toBufferedInputStream(java.io.InputStream)">toBufferedInputStream(InputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Fetches entire contents of an <code>InputStream</code> and represent
 same data as result InputStream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ByteArrayOutputStream.html#toBufferedInputStream(java.io.InputStream)">toBufferedInputStream(InputStream)</a></span> - Static method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ByteArrayOutputStream.html" title="class in org.apache.commons.io.output">ByteArrayOutputStream</a></dt>
<dd>
<div class="block">Fetches entire contents of an <code>InputStream</code> and represent
 same data as result InputStream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toBufferedReader(java.io.Reader)">toBufferedReader(Reader)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Returns the given reader if it is a <a href="http://download.oracle.com/javase/6/docs/api/java/io/BufferedReader.html?is-external=true" title="class or interface in java.io"><code>BufferedReader</code></a>, otherwise creates a BufferedReader from the given
 reader.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toByteArray(java.io.InputStream)">toByteArray(InputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Gets the contents of an <code>InputStream</code> as a <code>byte[]</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toByteArray(java.io.InputStream, long)">toByteArray(InputStream, long)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Gets contents of an <code>InputStream</code> as a <code>byte[]</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toByteArray(java.io.InputStream, int)">toByteArray(InputStream, int)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Gets the contents of an <code>InputStream</code> as a <code>byte[]</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toByteArray(java.io.Reader)">toByteArray(Reader)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/IOUtils.html#toByteArray(java.io.Reader, java.nio.charset.Charset)"><code>IOUtils.toByteArray(Reader, Charset)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toByteArray(java.io.Reader, java.nio.charset.Charset)">toByteArray(Reader, Charset)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Gets the contents of a <code>Reader</code> as a <code>byte[]</code>
 using the specified character encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toByteArray(java.io.Reader, java.lang.String)">toByteArray(Reader, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Gets the contents of a <code>Reader</code> as a <code>byte[]</code>
 using the specified character encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toByteArray(java.lang.String)">toByteArray(String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 Use <a href="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true#getBytes()" title="class or interface in java.lang"><code>String.getBytes()</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toByteArray(java.net.URI)">toByteArray(URI)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Gets the contents of a <code>URI</code> as a <code>byte[]</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toByteArray(java.net.URL)">toByteArray(URL)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Gets the contents of a <code>URL</code> as a <code>byte[]</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toByteArray(java.net.URLConnection)">toByteArray(URLConnection)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Gets the contents of a <code>URLConnection</code> as a <code>byte[]</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ByteArrayOutputStream.html#toByteArray()">toByteArray()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ByteArrayOutputStream.html" title="class in org.apache.commons.io.output">ByteArrayOutputStream</a></dt>
<dd>
<div class="block">Gets the curent contents of this byte stream as a byte array.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toCharArray(java.io.InputStream)">toCharArray(InputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/IOUtils.html#toCharArray(java.io.InputStream, java.nio.charset.Charset)"><code>IOUtils.toCharArray(InputStream, Charset)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toCharArray(java.io.InputStream, java.nio.charset.Charset)">toCharArray(InputStream, Charset)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Gets the contents of an <code>InputStream</code> as a character array
 using the specified character encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toCharArray(java.io.InputStream, java.lang.String)">toCharArray(InputStream, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Gets the contents of an <code>InputStream</code> as a character array
 using the specified character encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toCharArray(java.io.Reader)">toCharArray(Reader)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Gets the contents of a <code>Reader</code> as a character array.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/Charsets.html#toCharset(java.nio.charset.Charset)">toCharset(Charset)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/Charsets.html" title="class in org.apache.commons.io">Charsets</a></dt>
<dd>
<div class="block">Returns the given Charset or the default Charset if the given Charset is null.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/Charsets.html#toCharset(java.lang.String)">toCharset(String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/Charsets.html" title="class in org.apache.commons.io">Charsets</a></dt>
<dd>
<div class="block">Returns a Charset for the named charset.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#toFile(java.net.URL)">toFile(URL)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Convert from a <code>URL</code> to a <code>File</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#toFiles(java.net.URL[])">toFiles(URL[])</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Converts each of an array of <code>URL</code> to a <code>File</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toInputStream(java.lang.CharSequence)">toInputStream(CharSequence)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/IOUtils.html#toInputStream(java.lang.CharSequence, java.nio.charset.Charset)"><code>IOUtils.toInputStream(CharSequence, Charset)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toInputStream(java.lang.CharSequence, java.nio.charset.Charset)">toInputStream(CharSequence, Charset)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Converts the specified CharSequence to an input stream, encoded as bytes
 using the specified character encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toInputStream(java.lang.CharSequence, java.lang.String)">toInputStream(CharSequence, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Converts the specified CharSequence to an input stream, encoded as bytes
 using the specified character encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toInputStream(java.lang.String)">toInputStream(String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/IOUtils.html#toInputStream(java.lang.String, java.nio.charset.Charset)"><code>IOUtils.toInputStream(String, Charset)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toInputStream(java.lang.String, java.nio.charset.Charset)">toInputStream(String, Charset)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Converts the specified string to an input stream, encoded as bytes
 using the specified character encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toInputStream(java.lang.String, java.lang.String)">toInputStream(String, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Converts the specified string to an input stream, encoded as bytes
 using the specified character encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ByteArrayOutputStream.html#toInputStream()">toInputStream()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ByteArrayOutputStream.html" title="class in org.apache.commons.io.output">ByteArrayOutputStream</a></dt>
<dd>
<div class="block">Gets the current contents of this byte stream as a Input Stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#toList(org.apache.commons.io.filefilter.IOFileFilter...)">toList(IOFileFilter...)</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Create a List of file filters.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/ByteOrderMark.html#toString()">toString()</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/ByteOrderMark.html" title="class in org.apache.commons.io">ByteOrderMark</a></dt>
<dd>
<div class="block">Provide a String representation of the BOM.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/CompositeFileComparator.html#toString()">toString()</a></span> - Method in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/CompositeFileComparator.html" title="class in org.apache.commons.io.comparator">CompositeFileComparator</a></dt>
<dd>
<div class="block">String representation of this file comparator.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/ExtensionFileComparator.html#toString()">toString()</a></span> - Method in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/ExtensionFileComparator.html" title="class in org.apache.commons.io.comparator">ExtensionFileComparator</a></dt>
<dd>
<div class="block">String representation of this file comparator.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/NameFileComparator.html#toString()">toString()</a></span> - Method in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/NameFileComparator.html" title="class in org.apache.commons.io.comparator">NameFileComparator</a></dt>
<dd>
<div class="block">String representation of this file comparator.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/PathFileComparator.html#toString()">toString()</a></span> - Method in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/PathFileComparator.html" title="class in org.apache.commons.io.comparator">PathFileComparator</a></dt>
<dd>
<div class="block">String representation of this file comparator.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/comparator/SizeFileComparator.html#toString()">toString()</a></span> - Method in class org.apache.commons.io.comparator.<a href="./org/apache/commons/io/comparator/SizeFileComparator.html" title="class in org.apache.commons.io.comparator">SizeFileComparator</a></dt>
<dd>
<div class="block">String representation of this file comparator.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileDeleteStrategy.html#toString()">toString()</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileDeleteStrategy.html" title="class in org.apache.commons.io">FileDeleteStrategy</a></dt>
<dd>
<div class="block">Gets a string describing the delete strategy.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/AbstractFileFilter.html#toString()">toString()</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/AbstractFileFilter.html" title="class in org.apache.commons.io.filefilter">AbstractFileFilter</a></dt>
<dd>
<div class="block">Provide a String representaion of this file filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/AgeFileFilter.html#toString()">toString()</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/AgeFileFilter.html" title="class in org.apache.commons.io.filefilter">AgeFileFilter</a></dt>
<dd>
<div class="block">Provide a String representaion of this file filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/AndFileFilter.html#toString()">toString()</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/AndFileFilter.html" title="class in org.apache.commons.io.filefilter">AndFileFilter</a></dt>
<dd>
<div class="block">Provide a String representaion of this file filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/DelegateFileFilter.html#toString()">toString()</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/DelegateFileFilter.html" title="class in org.apache.commons.io.filefilter">DelegateFileFilter</a></dt>
<dd>
<div class="block">Provide a String representaion of this file filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/MagicNumberFileFilter.html#toString()">toString()</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/MagicNumberFileFilter.html" title="class in org.apache.commons.io.filefilter">MagicNumberFileFilter</a></dt>
<dd>
<div class="block">Returns a String representation of the file filter, which includes the
 magic number bytes and byte offset.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/NameFileFilter.html#toString()">toString()</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/NameFileFilter.html" title="class in org.apache.commons.io.filefilter">NameFileFilter</a></dt>
<dd>
<div class="block">Provide a String representaion of this file filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/NotFileFilter.html#toString()">toString()</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/NotFileFilter.html" title="class in org.apache.commons.io.filefilter">NotFileFilter</a></dt>
<dd>
<div class="block">Provide a String representaion of this file filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/OrFileFilter.html#toString()">toString()</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/OrFileFilter.html" title="class in org.apache.commons.io.filefilter">OrFileFilter</a></dt>
<dd>
<div class="block">Provide a String representaion of this file filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/PrefixFileFilter.html#toString()">toString()</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/PrefixFileFilter.html" title="class in org.apache.commons.io.filefilter">PrefixFileFilter</a></dt>
<dd>
<div class="block">Provide a String representaion of this file filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/SizeFileFilter.html#toString()">toString()</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/SizeFileFilter.html" title="class in org.apache.commons.io.filefilter">SizeFileFilter</a></dt>
<dd>
<div class="block">Provide a String representaion of this file filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/SuffixFileFilter.html#toString()">toString()</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/SuffixFileFilter.html" title="class in org.apache.commons.io.filefilter">SuffixFileFilter</a></dt>
<dd>
<div class="block">Provide a String representaion of this file filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/WildcardFileFilter.html#toString()">toString()</a></span> - Method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/WildcardFileFilter.html" title="class in org.apache.commons.io.filefilter">WildcardFileFilter</a></dt>
<dd>
<div class="block">Provide a String representation of this file filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/BoundedInputStream.html#toString()">toString()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/BoundedInputStream.html" title="class in org.apache.commons.io.input">BoundedInputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>toString()</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/CharSequenceReader.html#toString()">toString()</a></span> - Method in class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/CharSequenceReader.html" title="class in org.apache.commons.io.input">CharSequenceReader</a></dt>
<dd>
<div class="block">Return a String representation of the underlying
 character sequence.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOCase.html#toString()">toString()</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOCase.html" title="class in org.apache.commons.io">IOCase</a></dt>
<dd>
<div class="block">Gets a string describing the sensitivity.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toString(java.io.InputStream)">toString(InputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/IOUtils.html#toString(java.io.InputStream, java.nio.charset.Charset)"><code>IOUtils.toString(InputStream, Charset)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toString(java.io.InputStream, java.nio.charset.Charset)">toString(InputStream, Charset)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Gets the contents of an <code>InputStream</code> as a String
 using the specified character encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toString(java.io.InputStream, java.lang.String)">toString(InputStream, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Gets the contents of an <code>InputStream</code> as a String
 using the specified character encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toString(java.io.Reader)">toString(Reader)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Gets the contents of a <code>Reader</code> as a String.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toString(java.net.URI)">toString(URI)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/IOUtils.html#toString(java.net.URI, java.nio.charset.Charset)"><code>IOUtils.toString(URI, Charset)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toString(java.net.URI, java.nio.charset.Charset)">toString(URI, Charset)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Gets the contents at the given URI.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toString(java.net.URI, java.lang.String)">toString(URI, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Gets the contents at the given URI.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toString(java.net.URL)">toString(URL)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/IOUtils.html#toString(java.net.URL, java.nio.charset.Charset)"><code>IOUtils.toString(URL, Charset)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toString(java.net.URL, java.nio.charset.Charset)">toString(URL, Charset)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Gets the contents at the given URL.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toString(java.net.URL, java.lang.String)">toString(URL, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Gets the contents at the given URL.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toString(byte[])">toString(byte[])</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 Use <a href="http://download.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true#String(byte[])" title="class or interface in java.lang"><code>String.String(byte[])</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#toString(byte[], java.lang.String)">toString(byte[], String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Gets the contents of a <code>byte[]</code> as a String
 using the specified character encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/monitor/FileAlterationObserver.html#toString()">toString()</a></span> - Method in class org.apache.commons.io.monitor.<a href="./org/apache/commons/io/monitor/FileAlterationObserver.html" title="class in org.apache.commons.io.monitor">FileAlterationObserver</a></dt>
<dd>
<div class="block">Provide a String representation of this observer.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ByteArrayOutputStream.html#toString()">toString()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ByteArrayOutputStream.html" title="class in org.apache.commons.io.output">ByteArrayOutputStream</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/output/ByteArrayOutputStream.html#toString(java.lang.String)"><code>ByteArrayOutputStream.toString(String)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ByteArrayOutputStream.html#toString(java.lang.String)">toString(String)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ByteArrayOutputStream.html" title="class in org.apache.commons.io.output">ByteArrayOutputStream</a></dt>
<dd>
<div class="block">Gets the curent contents of this byte stream as a string
 using the specified encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ByteArrayOutputStream.html#toString(java.nio.charset.Charset)">toString(Charset)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ByteArrayOutputStream.html" title="class in org.apache.commons.io.output">ByteArrayOutputStream</a></dt>
<dd>
<div class="block">Gets the curent contents of this byte stream as a string
 using the specified encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/StringBuilderWriter.html#toString()">toString()</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/StringBuilderWriter.html" title="class in org.apache.commons.io.output">StringBuilderWriter</a></dt>
<dd>
<div class="block">Returns <a href="http://download.oracle.com/javase/6/docs/api/java/lang/StringBuilder.html?is-external=true#toString()" title="class or interface in java.lang"><code>StringBuilder.toString()</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#touch(java.io.File)">touch(File)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Implements the same behaviour as the "touch" utility on Unix.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#toURLs(java.io.File[])">toURLs(File[])</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Converts each of an array of <code>File</code> to a <code>URL</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileCleaner.html#track(java.io.File, java.lang.Object)">track(File, Object)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileCleaner.html" title="class in org.apache.commons.io">FileCleaner</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>Use <a href="./org/apache/commons/io/FileCleaningTracker.html#track(java.io.File, java.lang.Object)"><code>FileCleaningTracker.track(File, Object)</code></a>.</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileCleaner.html#track(java.io.File, java.lang.Object, org.apache.commons.io.FileDeleteStrategy)">track(File, Object, FileDeleteStrategy)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileCleaner.html" title="class in org.apache.commons.io">FileCleaner</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>Use <a href="./org/apache/commons/io/FileCleaningTracker.html#track(java.io.File, java.lang.Object, org.apache.commons.io.FileDeleteStrategy)"><code>FileCleaningTracker.track(File, Object, FileDeleteStrategy)</code></a>.</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileCleaner.html#track(java.lang.String, java.lang.Object)">track(String, Object)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileCleaner.html" title="class in org.apache.commons.io">FileCleaner</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>Use <a href="./org/apache/commons/io/FileCleaningTracker.html#track(java.lang.String, java.lang.Object)"><code>FileCleaningTracker.track(String, Object)</code></a>.</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileCleaner.html#track(java.lang.String, java.lang.Object, org.apache.commons.io.FileDeleteStrategy)">track(String, Object, FileDeleteStrategy)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileCleaner.html" title="class in org.apache.commons.io">FileCleaner</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>Use <a href="./org/apache/commons/io/FileCleaningTracker.html#track(java.lang.String, java.lang.Object, org.apache.commons.io.FileDeleteStrategy)"><code>FileCleaningTracker.track(String, Object, FileDeleteStrategy)</code></a>.</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileCleaningTracker.html#track(java.io.File, java.lang.Object)">track(File, Object)</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileCleaningTracker.html" title="class in org.apache.commons.io">FileCleaningTracker</a></dt>
<dd>
<div class="block">Track the specified file, using the provided marker, deleting the file
 when the marker instance is garbage collected.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileCleaningTracker.html#track(java.io.File, java.lang.Object, org.apache.commons.io.FileDeleteStrategy)">track(File, Object, FileDeleteStrategy)</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileCleaningTracker.html" title="class in org.apache.commons.io">FileCleaningTracker</a></dt>
<dd>
<div class="block">Track the specified file, using the provided marker, deleting the file
 when the marker instance is garbage collected.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileCleaningTracker.html#track(java.lang.String, java.lang.Object)">track(String, Object)</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileCleaningTracker.html" title="class in org.apache.commons.io">FileCleaningTracker</a></dt>
<dd>
<div class="block">Track the specified file, using the provided marker, deleting the file
 when the marker instance is garbage collected.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileCleaningTracker.html#track(java.lang.String, java.lang.Object, org.apache.commons.io.FileDeleteStrategy)">track(String, Object, FileDeleteStrategy)</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileCleaningTracker.html" title="class in org.apache.commons.io">FileCleaningTracker</a></dt>
<dd>
<div class="block">Track the specified file, using the provided marker, deleting the file
 when the marker instance is garbage collected.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/TrueFileFilter.html#TRUE">TRUE</a></span> - Static variable in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/TrueFileFilter.html" title="class in org.apache.commons.io.filefilter">TrueFileFilter</a></dt>
<dd>
<div class="block">Singleton instance of true filter.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/FileFilterUtils.html#trueFileFilter()">trueFileFilter()</a></span> - Static method in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/FileFilterUtils.html" title="class in org.apache.commons.io.filefilter">FileFilterUtils</a></dt>
<dd>
<div class="block">Returns a filter that always returns true.</div>
</dd>
<dt><a href="./org/apache/commons/io/filefilter/TrueFileFilter.html" title="class in org.apache.commons.io.filefilter"><span class="strong">TrueFileFilter</span></a> - Class in <a href="./org/apache/commons/io/filefilter/package-summary.html">org.apache.commons.io.filefilter</a></dt>
<dd>
<div class="block">A file filter that always returns true.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/TrueFileFilter.html#TrueFileFilter()">TrueFileFilter()</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/TrueFileFilter.html" title="class in org.apache.commons.io.filefilter">TrueFileFilter</a></dt>
<dd>
<div class="block">Restrictive constructor.</div>
</dd>
</dl>
<a name="_U_">
<!--   -->
</a>
<h2 class="title">U</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/commons/io/Charsets.html#US_ASCII">US_ASCII</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/Charsets.html" title="class in org.apache.commons.io">Charsets</a></dt>
<dd>
<div class="block">
 Seven-bit ASCII, also known as ISO646-US, also known as the Basic Latin block of the Unicode character set.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/Charsets.html#UTF_16">UTF_16</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/Charsets.html" title="class in org.apache.commons.io">Charsets</a></dt>
<dd>
<div class="block">
 Sixteen-bit Unicode Transformation Format, The byte order specified by a mandatory initial byte-order mark
 (either order accepted on input, big-endian used on output)</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/ByteOrderMark.html#UTF_16BE">UTF_16BE</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/ByteOrderMark.html" title="class in org.apache.commons.io">ByteOrderMark</a></dt>
<dd>
<div class="block">UTF-16BE BOM (Big-Endian)</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/Charsets.html#UTF_16BE">UTF_16BE</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/Charsets.html" title="class in org.apache.commons.io">Charsets</a></dt>
<dd>
<div class="block">
 Sixteen-bit Unicode Transformation Format, big-endian byte order.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/ByteOrderMark.html#UTF_16LE">UTF_16LE</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/ByteOrderMark.html" title="class in org.apache.commons.io">ByteOrderMark</a></dt>
<dd>
<div class="block">UTF-16LE BOM (Little-Endian)</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/Charsets.html#UTF_16LE">UTF_16LE</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/Charsets.html" title="class in org.apache.commons.io">Charsets</a></dt>
<dd>
<div class="block">
 Sixteen-bit Unicode Transformation Format, little-endian byte order.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/ByteOrderMark.html#UTF_32BE">UTF_32BE</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/ByteOrderMark.html" title="class in org.apache.commons.io">ByteOrderMark</a></dt>
<dd>
<div class="block">UTF-32BE BOM (Big-Endian)</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/ByteOrderMark.html#UTF_32LE">UTF_32LE</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/ByteOrderMark.html" title="class in org.apache.commons.io">ByteOrderMark</a></dt>
<dd>
<div class="block">UTF-32LE BOM (Little-Endian)</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/ByteOrderMark.html#UTF_8">UTF_8</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/ByteOrderMark.html" title="class in org.apache.commons.io">ByteOrderMark</a></dt>
<dd>
<div class="block">UTF-8 BOM</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/Charsets.html#UTF_8">UTF_8</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/Charsets.html" title="class in org.apache.commons.io">Charsets</a></dt>
<dd>
<div class="block">
 Eight-bit Unicode Transformation Format.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/ByteOrderMark.html#UTF_BOM">UTF_BOM</a></span> - Static variable in class org.apache.commons.io.<a href="./org/apache/commons/io/ByteOrderMark.html" title="class in org.apache.commons.io">ByteOrderMark</a></dt>
<dd>
<div class="block">Unicode BOM character; external form depends on the encoding.</div>
</dd>
</dl>
<a name="_V_">
<!--   -->
</a>
<h2 class="title">V</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/HiddenFileFilter.html#VISIBLE">VISIBLE</a></span> - Static variable in class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/HiddenFileFilter.html" title="class in org.apache.commons.io.filefilter">HiddenFileFilter</a></dt>
<dd>
<div class="block">Singleton instance of <i>visible</i> filter</div>
</dd>
</dl>
<a name="_W_">
<!--   -->
</a>
<h2 class="title">W</h2>
<dl>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#waitFor(java.io.File, int)">waitFor(File, int)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Waits for NFS to propagate a file creation, imposing a timeout.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/DirectoryWalker.html#walk(java.io.File, java.util.Collection)">walk(File, Collection&lt;T&gt;)</a></span> - Method in class org.apache.commons.io.<a href="./org/apache/commons/io/DirectoryWalker.html" title="class in org.apache.commons.io">DirectoryWalker</a></dt>
<dd>
<div class="block">Internal method that walks the directory hierarchy in a depth-first manner.</div>
</dd>
<dt><a href="./org/apache/commons/io/filefilter/WildcardFileFilter.html" title="class in org.apache.commons.io.filefilter"><span class="strong">WildcardFileFilter</span></a> - Class in <a href="./org/apache/commons/io/filefilter/package-summary.html">org.apache.commons.io.filefilter</a></dt>
<dd>
<div class="block">Filters files using the supplied wildcards.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/WildcardFileFilter.html#WildcardFileFilter(java.lang.String)">WildcardFileFilter(String)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/WildcardFileFilter.html" title="class in org.apache.commons.io.filefilter">WildcardFileFilter</a></dt>
<dd>
<div class="block">Construct a new case-sensitive wildcard filter for a single wildcard.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/WildcardFileFilter.html#WildcardFileFilter(java.lang.String, org.apache.commons.io.IOCase)">WildcardFileFilter(String, IOCase)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/WildcardFileFilter.html" title="class in org.apache.commons.io.filefilter">WildcardFileFilter</a></dt>
<dd>
<div class="block">Construct a new wildcard filter for a single wildcard specifying case-sensitivity.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/WildcardFileFilter.html#WildcardFileFilter(java.lang.String[])">WildcardFileFilter(String[])</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/WildcardFileFilter.html" title="class in org.apache.commons.io.filefilter">WildcardFileFilter</a></dt>
<dd>
<div class="block">Construct a new case-sensitive wildcard filter for an array of wildcards.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/WildcardFileFilter.html#WildcardFileFilter(java.lang.String[], org.apache.commons.io.IOCase)">WildcardFileFilter(String[], IOCase)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/WildcardFileFilter.html" title="class in org.apache.commons.io.filefilter">WildcardFileFilter</a></dt>
<dd>
<div class="block">Construct a new wildcard filter for an array of wildcards specifying case-sensitivity.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/WildcardFileFilter.html#WildcardFileFilter(java.util.List)">WildcardFileFilter(List&lt;String&gt;)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/WildcardFileFilter.html" title="class in org.apache.commons.io.filefilter">WildcardFileFilter</a></dt>
<dd>
<div class="block">Construct a new case-sensitive wildcard filter for a list of wildcards.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/WildcardFileFilter.html#WildcardFileFilter(java.util.List, org.apache.commons.io.IOCase)">WildcardFileFilter(List&lt;String&gt;, IOCase)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/WildcardFileFilter.html" title="class in org.apache.commons.io.filefilter">WildcardFileFilter</a></dt>
<dd>
<div class="block">Construct a new wildcard filter for a list of wildcards specifying case-sensitivity.</div>
</dd>
<dt><a href="./org/apache/commons/io/filefilter/WildcardFilter.html" title="class in org.apache.commons.io.filefilter"><span class="strong">WildcardFilter</span></a> - Class in <a href="./org/apache/commons/io/filefilter/package-summary.html">org.apache.commons.io.filefilter</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>Use WilcardFileFilter. Deprecated as this class performs directory
 filtering which it shouldn't do, but that can't be removed due to compatability.</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/WildcardFilter.html#WildcardFilter(java.lang.String)">WildcardFilter(String)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/WildcardFilter.html" title="class in org.apache.commons.io.filefilter">WildcardFilter</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span></div>
<div class="block">Construct a new case-sensitive wildcard filter for a single wildcard.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/WildcardFilter.html#WildcardFilter(java.lang.String[])">WildcardFilter(String[])</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/WildcardFilter.html" title="class in org.apache.commons.io.filefilter">WildcardFilter</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span></div>
<div class="block">Construct a new case-sensitive wildcard filter for an array of wildcards.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/filefilter/WildcardFilter.html#WildcardFilter(java.util.List)">WildcardFilter(List&lt;String&gt;)</a></span> - Constructor for class org.apache.commons.io.filefilter.<a href="./org/apache/commons/io/filefilter/WildcardFilter.html" title="class in org.apache.commons.io.filefilter">WildcardFilter</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span></div>
<div class="block">Construct a new case-sensitive wildcard filter for a list of wildcards.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#wildcardMatch(java.lang.String, java.lang.String)">wildcardMatch(String, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Checks a filename to see if it matches the specified wildcard matcher,
 always testing case-sensitive.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#wildcardMatch(java.lang.String, java.lang.String, org.apache.commons.io.IOCase)">wildcardMatch(String, String, IOCase)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Checks a filename to see if it matches the specified wildcard matcher
 allowing control over case-sensitivity.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FilenameUtils.html#wildcardMatchOnSystem(java.lang.String, java.lang.String)">wildcardMatchOnSystem(String, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FilenameUtils.html" title="class in org.apache.commons.io">FilenameUtils</a></dt>
<dd>
<div class="block">Checks a filename to see if it matches the specified wildcard matcher
 using the case rules of the system.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#write(java.io.File, java.lang.CharSequence)">write(File, CharSequence)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/FileUtils.html#write(java.io.File, java.lang.CharSequence, java.nio.charset.Charset)"><code>FileUtils.write(File, CharSequence, Charset)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#write(java.io.File, java.lang.CharSequence, boolean)">write(File, CharSequence, boolean)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/FileUtils.html#write(java.io.File, java.lang.CharSequence, java.nio.charset.Charset, boolean)"><code>FileUtils.write(File, CharSequence, Charset, boolean)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#write(java.io.File, java.lang.CharSequence, java.nio.charset.Charset)">write(File, CharSequence, Charset)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Writes a CharSequence to a file creating the file if it does not exist.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#write(java.io.File, java.lang.CharSequence, java.lang.String)">write(File, CharSequence, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Writes a CharSequence to a file creating the file if it does not exist.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#write(java.io.File, java.lang.CharSequence, java.nio.charset.Charset, boolean)">write(File, CharSequence, Charset, boolean)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Writes a CharSequence to a file creating the file if it does not exist.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#write(java.io.File, java.lang.CharSequence, java.lang.String, boolean)">write(File, CharSequence, String, boolean)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Writes a CharSequence to a file creating the file if it does not exist.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#write(byte[], java.io.OutputStream)">write(byte[], OutputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Writes bytes from a <code>byte[]</code> to an <code>OutputStream</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#write(byte[], java.io.Writer)">write(byte[], Writer)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/IOUtils.html#write(byte[], java.io.Writer, java.nio.charset.Charset)"><code>IOUtils.write(byte[], Writer, Charset)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#write(byte[], java.io.Writer, java.nio.charset.Charset)">write(byte[], Writer, Charset)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Writes bytes from a <code>byte[]</code> to chars on a <code>Writer</code>
 using the specified character encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#write(byte[], java.io.Writer, java.lang.String)">write(byte[], Writer, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Writes bytes from a <code>byte[]</code> to chars on a <code>Writer</code>
 using the specified character encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#write(char[], java.io.Writer)">write(char[], Writer)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Writes chars from a <code>char[]</code> to a <code>Writer</code>
 using the default character encoding of the platform.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#write(char[], java.io.OutputStream)">write(char[], OutputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/IOUtils.html#write(char[], java.io.OutputStream, java.nio.charset.Charset)"><code>IOUtils.write(char[], OutputStream, Charset)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#write(char[], java.io.OutputStream, java.nio.charset.Charset)">write(char[], OutputStream, Charset)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Writes chars from a <code>char[]</code> to bytes on an
 <code>OutputStream</code> using the specified character encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#write(char[], java.io.OutputStream, java.lang.String)">write(char[], OutputStream, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Writes chars from a <code>char[]</code> to bytes on an
 <code>OutputStream</code> using the specified character encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#write(java.lang.CharSequence, java.io.Writer)">write(CharSequence, Writer)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Writes chars from a <code>CharSequence</code> to a <code>Writer</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#write(java.lang.CharSequence, java.io.OutputStream)">write(CharSequence, OutputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/IOUtils.html#write(java.lang.CharSequence, java.io.OutputStream, java.nio.charset.Charset)"><code>IOUtils.write(CharSequence, OutputStream, Charset)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#write(java.lang.CharSequence, java.io.OutputStream, java.nio.charset.Charset)">write(CharSequence, OutputStream, Charset)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Writes chars from a <code>CharSequence</code> to bytes on an
 <code>OutputStream</code> using the specified character encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#write(java.lang.CharSequence, java.io.OutputStream, java.lang.String)">write(CharSequence, OutputStream, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Writes chars from a <code>CharSequence</code> to bytes on an
 <code>OutputStream</code> using the specified character encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#write(java.lang.String, java.io.Writer)">write(String, Writer)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Writes chars from a <code>String</code> to a <code>Writer</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#write(java.lang.String, java.io.OutputStream)">write(String, OutputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/IOUtils.html#write(java.lang.String, java.io.OutputStream, java.nio.charset.Charset)"><code>IOUtils.write(String, OutputStream, Charset)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#write(java.lang.String, java.io.OutputStream, java.nio.charset.Charset)">write(String, OutputStream, Charset)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Writes chars from a <code>String</code> to bytes on an
 <code>OutputStream</code> using the specified character encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#write(java.lang.String, java.io.OutputStream, java.lang.String)">write(String, OutputStream, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Writes chars from a <code>String</code> to bytes on an
 <code>OutputStream</code> using the specified character encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#write(java.lang.StringBuffer, java.io.Writer)">write(StringBuffer, Writer)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>replaced by write(CharSequence, Writer)</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#write(java.lang.StringBuffer, java.io.OutputStream)">write(StringBuffer, OutputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>replaced by write(CharSequence, OutputStream)</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#write(java.lang.StringBuffer, java.io.OutputStream, java.lang.String)">write(StringBuffer, OutputStream, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>replaced by write(CharSequence, OutputStream, String)</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/BrokenOutputStream.html#write(int)">write(int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/BrokenOutputStream.html" title="class in org.apache.commons.io.output">BrokenOutputStream</a></dt>
<dd>
<div class="block">Throws the configured exception.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ByteArrayOutputStream.html#write(byte[], int, int)">write(byte[], int, int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ByteArrayOutputStream.html" title="class in org.apache.commons.io.output">ByteArrayOutputStream</a></dt>
<dd>
<div class="block">Write the bytes to byte array.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ByteArrayOutputStream.html#write(int)">write(int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ByteArrayOutputStream.html" title="class in org.apache.commons.io.output">ByteArrayOutputStream</a></dt>
<dd>
<div class="block">Write a byte to byte array.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ByteArrayOutputStream.html#write(java.io.InputStream)">write(InputStream)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ByteArrayOutputStream.html" title="class in org.apache.commons.io.output">ByteArrayOutputStream</a></dt>
<dd>
<div class="block">Writes the entire contents of the specified input stream to this
 byte stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ClosedOutputStream.html#write(int)">write(int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ClosedOutputStream.html" title="class in org.apache.commons.io.output">ClosedOutputStream</a></dt>
<dd>
<div class="block">Throws an <a href="http://download.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io"><code>IOException</code></a> to indicate that the stream is closed.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/DemuxOutputStream.html#write(int)">write(int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/DemuxOutputStream.html" title="class in org.apache.commons.io.output">DemuxOutputStream</a></dt>
<dd>
<div class="block">Writes byte to stream associated with current thread.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/FileWriterWithEncoding.html#write(int)">write(int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/FileWriterWithEncoding.html" title="class in org.apache.commons.io.output">FileWriterWithEncoding</a></dt>
<dd>
<div class="block">Write a character.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/FileWriterWithEncoding.html#write(char[])">write(char[])</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/FileWriterWithEncoding.html" title="class in org.apache.commons.io.output">FileWriterWithEncoding</a></dt>
<dd>
<div class="block">Write the characters from an array.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/FileWriterWithEncoding.html#write(char[], int, int)">write(char[], int, int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/FileWriterWithEncoding.html" title="class in org.apache.commons.io.output">FileWriterWithEncoding</a></dt>
<dd>
<div class="block">Write the specified characters from an array.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/FileWriterWithEncoding.html#write(java.lang.String)">write(String)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/FileWriterWithEncoding.html" title="class in org.apache.commons.io.output">FileWriterWithEncoding</a></dt>
<dd>
<div class="block">Write the characters from a string.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/FileWriterWithEncoding.html#write(java.lang.String, int, int)">write(String, int, int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/FileWriterWithEncoding.html" title="class in org.apache.commons.io.output">FileWriterWithEncoding</a></dt>
<dd>
<div class="block">Write the specified characters from a string.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/LockableFileWriter.html#write(int)">write(int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/LockableFileWriter.html" title="class in org.apache.commons.io.output">LockableFileWriter</a></dt>
<dd>
<div class="block">Write a character.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/LockableFileWriter.html#write(char[])">write(char[])</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/LockableFileWriter.html" title="class in org.apache.commons.io.output">LockableFileWriter</a></dt>
<dd>
<div class="block">Write the characters from an array.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/LockableFileWriter.html#write(char[], int, int)">write(char[], int, int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/LockableFileWriter.html" title="class in org.apache.commons.io.output">LockableFileWriter</a></dt>
<dd>
<div class="block">Write the specified characters from an array.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/LockableFileWriter.html#write(java.lang.String)">write(String)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/LockableFileWriter.html" title="class in org.apache.commons.io.output">LockableFileWriter</a></dt>
<dd>
<div class="block">Write the characters from a string.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/LockableFileWriter.html#write(java.lang.String, int, int)">write(String, int, int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/LockableFileWriter.html" title="class in org.apache.commons.io.output">LockableFileWriter</a></dt>
<dd>
<div class="block">Write the specified characters from a string.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/NullOutputStream.html#write(byte[], int, int)">write(byte[], int, int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/NullOutputStream.html" title="class in org.apache.commons.io.output">NullOutputStream</a></dt>
<dd>
<div class="block">Does nothing - output to <code>/dev/null</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/NullOutputStream.html#write(int)">write(int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/NullOutputStream.html" title="class in org.apache.commons.io.output">NullOutputStream</a></dt>
<dd>
<div class="block">Does nothing - output to <code>/dev/null</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/NullOutputStream.html#write(byte[])">write(byte[])</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/NullOutputStream.html" title="class in org.apache.commons.io.output">NullOutputStream</a></dt>
<dd>
<div class="block">Does nothing - output to <code>/dev/null</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/NullWriter.html#write(int)">write(int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/NullWriter.html" title="class in org.apache.commons.io.output">NullWriter</a></dt>
<dd>
<div class="block">Does nothing - output to <code>/dev/null</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/NullWriter.html#write(char[])">write(char[])</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/NullWriter.html" title="class in org.apache.commons.io.output">NullWriter</a></dt>
<dd>
<div class="block">Does nothing - output to <code>/dev/null</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/NullWriter.html#write(char[], int, int)">write(char[], int, int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/NullWriter.html" title="class in org.apache.commons.io.output">NullWriter</a></dt>
<dd>
<div class="block">Does nothing - output to <code>/dev/null</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/NullWriter.html#write(java.lang.String)">write(String)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/NullWriter.html" title="class in org.apache.commons.io.output">NullWriter</a></dt>
<dd>
<div class="block">Does nothing - output to <code>/dev/null</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/NullWriter.html#write(java.lang.String, int, int)">write(String, int, int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/NullWriter.html" title="class in org.apache.commons.io.output">NullWriter</a></dt>
<dd>
<div class="block">Does nothing - output to <code>/dev/null</code>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ProxyOutputStream.html#write(int)">write(int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ProxyOutputStream.html" title="class in org.apache.commons.io.output">ProxyOutputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>write(int)</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ProxyOutputStream.html#write(byte[])">write(byte[])</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ProxyOutputStream.html" title="class in org.apache.commons.io.output">ProxyOutputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>write(byte[])</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ProxyOutputStream.html#write(byte[], int, int)">write(byte[], int, int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ProxyOutputStream.html" title="class in org.apache.commons.io.output">ProxyOutputStream</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>write(byte[])</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ProxyWriter.html#write(int)">write(int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ProxyWriter.html" title="class in org.apache.commons.io.output">ProxyWriter</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>write(int)</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ProxyWriter.html#write(char[])">write(char[])</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ProxyWriter.html" title="class in org.apache.commons.io.output">ProxyWriter</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>write(char[])</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ProxyWriter.html#write(char[], int, int)">write(char[], int, int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ProxyWriter.html" title="class in org.apache.commons.io.output">ProxyWriter</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>write(char[], int, int)</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ProxyWriter.html#write(java.lang.String)">write(String)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ProxyWriter.html" title="class in org.apache.commons.io.output">ProxyWriter</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>write(String)</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ProxyWriter.html#write(java.lang.String, int, int)">write(String, int, int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ProxyWriter.html" title="class in org.apache.commons.io.output">ProxyWriter</a></dt>
<dd>
<div class="block">Invokes the delegate's <code>write(String)</code> method.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/StringBuilderWriter.html#write(java.lang.String)">write(String)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/StringBuilderWriter.html" title="class in org.apache.commons.io.output">StringBuilderWriter</a></dt>
<dd>
<div class="block">Write a String to the <a href="http://download.oracle.com/javase/6/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang"><code>StringBuilder</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/StringBuilderWriter.html#write(char[], int, int)">write(char[], int, int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/StringBuilderWriter.html" title="class in org.apache.commons.io.output">StringBuilderWriter</a></dt>
<dd>
<div class="block">Write a portion of a character array to the <a href="http://download.oracle.com/javase/6/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang"><code>StringBuilder</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/TeeOutputStream.html#write(byte[])">write(byte[])</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/TeeOutputStream.html" title="class in org.apache.commons.io.output">TeeOutputStream</a></dt>
<dd>
<div class="block">Write the bytes to both streams.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/TeeOutputStream.html#write(byte[], int, int)">write(byte[], int, int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/TeeOutputStream.html" title="class in org.apache.commons.io.output">TeeOutputStream</a></dt>
<dd>
<div class="block">Write the specified bytes to both streams.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/TeeOutputStream.html#write(int)">write(int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/TeeOutputStream.html" title="class in org.apache.commons.io.output">TeeOutputStream</a></dt>
<dd>
<div class="block">Write a byte to both streams.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ThresholdingOutputStream.html#write(int)">write(int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ThresholdingOutputStream.html" title="class in org.apache.commons.io.output">ThresholdingOutputStream</a></dt>
<dd>
<div class="block">Writes the specified byte to this output stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ThresholdingOutputStream.html#write(byte[])">write(byte[])</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ThresholdingOutputStream.html" title="class in org.apache.commons.io.output">ThresholdingOutputStream</a></dt>
<dd>
<div class="block">Writes <code>b.length</code> bytes from the specified byte array to this
 output stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ThresholdingOutputStream.html#write(byte[], int, int)">write(byte[], int, int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ThresholdingOutputStream.html" title="class in org.apache.commons.io.output">ThresholdingOutputStream</a></dt>
<dd>
<div class="block">Writes <code>len</code> bytes from the specified byte array starting at
 offset <code>off</code> to this output stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/WriterOutputStream.html#write(byte[], int, int)">write(byte[], int, int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/WriterOutputStream.html" title="class in org.apache.commons.io.output">WriterOutputStream</a></dt>
<dd>
<div class="block">Write bytes from the specified byte array to the stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/WriterOutputStream.html#write(byte[])">write(byte[])</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/WriterOutputStream.html" title="class in org.apache.commons.io.output">WriterOutputStream</a></dt>
<dd>
<div class="block">Write bytes from the specified byte array to the stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/WriterOutputStream.html#write(int)">write(int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/WriterOutputStream.html" title="class in org.apache.commons.io.output">WriterOutputStream</a></dt>
<dd>
<div class="block">Write a single byte to the stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/XmlStreamWriter.html#write(char[], int, int)">write(char[], int, int)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/XmlStreamWriter.html" title="class in org.apache.commons.io.output">XmlStreamWriter</a></dt>
<dd>
<div class="block">Write the characters to the underlying writer, detecing encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#writeByteArrayToFile(java.io.File, byte[])">writeByteArrayToFile(File, byte[])</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Writes a byte array to a file creating the file if it does not exist.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#writeByteArrayToFile(java.io.File, byte[], boolean)">writeByteArrayToFile(File, byte[], boolean)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Writes a byte array to a file creating the file if it does not exist.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#writeByteArrayToFile(java.io.File, byte[], int, int)">writeByteArrayToFile(File, byte[], int, int)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Writes <code>len</code> bytes from the specified byte array starting
 at offset <code>off</code> to a file, creating the file if it does
 not exist.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#writeByteArrayToFile(java.io.File, byte[], int, int, boolean)">writeByteArrayToFile(File, byte[], int, int, boolean)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Writes <code>len</code> bytes from the specified byte array starting
 at offset <code>off</code> to a file, creating the file if it does
 not exist.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#writeLines(java.io.File, java.lang.String, java.util.Collection)">writeLines(File, String, Collection&lt;?&gt;)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Writes the <code>toString()</code> value of each item in a collection to
 the specified <code>File</code> line by line.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#writeLines(java.io.File, java.lang.String, java.util.Collection, boolean)">writeLines(File, String, Collection&lt;?&gt;, boolean)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Writes the <code>toString()</code> value of each item in a collection to
 the specified <code>File</code> line by line, optionally appending.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#writeLines(java.io.File, java.util.Collection)">writeLines(File, Collection&lt;?&gt;)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Writes the <code>toString()</code> value of each item in a collection to
 the specified <code>File</code> line by line.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#writeLines(java.io.File, java.util.Collection, boolean)">writeLines(File, Collection&lt;?&gt;, boolean)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Writes the <code>toString()</code> value of each item in a collection to
 the specified <code>File</code> line by line.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#writeLines(java.io.File, java.lang.String, java.util.Collection, java.lang.String)">writeLines(File, String, Collection&lt;?&gt;, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Writes the <code>toString()</code> value of each item in a collection to
 the specified <code>File</code> line by line.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#writeLines(java.io.File, java.lang.String, java.util.Collection, java.lang.String, boolean)">writeLines(File, String, Collection&lt;?&gt;, String, boolean)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Writes the <code>toString()</code> value of each item in a collection to
 the specified <code>File</code> line by line.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#writeLines(java.io.File, java.util.Collection, java.lang.String)">writeLines(File, Collection&lt;?&gt;, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Writes the <code>toString()</code> value of each item in a collection to
 the specified <code>File</code> line by line.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#writeLines(java.io.File, java.util.Collection, java.lang.String, boolean)">writeLines(File, Collection&lt;?&gt;, String, boolean)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Writes the <code>toString()</code> value of each item in a collection to
 the specified <code>File</code> line by line.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#writeLines(java.util.Collection, java.lang.String, java.io.OutputStream)">writeLines(Collection&lt;?&gt;, String, OutputStream)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/IOUtils.html#writeLines(java.util.Collection, java.lang.String, java.io.OutputStream, java.nio.charset.Charset)"><code>IOUtils.writeLines(Collection, String, OutputStream, Charset)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#writeLines(java.util.Collection, java.lang.String, java.io.OutputStream, java.nio.charset.Charset)">writeLines(Collection&lt;?&gt;, String, OutputStream, Charset)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Writes the <code>toString()</code> value of each item in a collection to
 an <code>OutputStream</code> line by line, using the specified character
 encoding and the specified line ending.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#writeLines(java.util.Collection, java.lang.String, java.io.OutputStream, java.lang.String)">writeLines(Collection&lt;?&gt;, String, OutputStream, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Writes the <code>toString()</code> value of each item in a collection to
 an <code>OutputStream</code> line by line, using the specified character
 encoding and the specified line ending.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/IOUtils.html#writeLines(java.util.Collection, java.lang.String, java.io.Writer)">writeLines(Collection&lt;?&gt;, String, Writer)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/IOUtils.html" title="class in org.apache.commons.io">IOUtils</a></dt>
<dd>
<div class="block">Writes the <code>toString()</code> value of each item in a collection to
 a <code>Writer</code> line by line, using the specified line ending.</div>
</dd>
<dt><a href="./org/apache/commons/io/output/WriterOutputStream.html" title="class in org.apache.commons.io.output"><span class="strong">WriterOutputStream</span></a> - Class in <a href="./org/apache/commons/io/output/package-summary.html">org.apache.commons.io.output</a></dt>
<dd>
<div class="block"><a href="http://download.oracle.com/javase/6/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io"><code>OutputStream</code></a> implementation that transforms a byte stream to a
 character stream using a specified charset encoding and writes the resulting
 stream to a <a href="http://download.oracle.com/javase/6/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><code>Writer</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/WriterOutputStream.html#WriterOutputStream(java.io.Writer, java.nio.charset.CharsetDecoder)">WriterOutputStream(Writer, CharsetDecoder)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/WriterOutputStream.html" title="class in org.apache.commons.io.output">WriterOutputStream</a></dt>
<dd>
<div class="block">Constructs a new <a href="./org/apache/commons/io/output/WriterOutputStream.html" title="class in org.apache.commons.io.output"><code>WriterOutputStream</code></a> with a default output buffer size of
 1024 characters.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/WriterOutputStream.html#WriterOutputStream(java.io.Writer, java.nio.charset.CharsetDecoder, int, boolean)">WriterOutputStream(Writer, CharsetDecoder, int, boolean)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/WriterOutputStream.html" title="class in org.apache.commons.io.output">WriterOutputStream</a></dt>
<dd>
<div class="block">Constructs a new <a href="./org/apache/commons/io/output/WriterOutputStream.html" title="class in org.apache.commons.io.output"><code>WriterOutputStream</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/WriterOutputStream.html#WriterOutputStream(java.io.Writer, java.nio.charset.Charset, int, boolean)">WriterOutputStream(Writer, Charset, int, boolean)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/WriterOutputStream.html" title="class in org.apache.commons.io.output">WriterOutputStream</a></dt>
<dd>
<div class="block">Constructs a new <a href="./org/apache/commons/io/output/WriterOutputStream.html" title="class in org.apache.commons.io.output"><code>WriterOutputStream</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/WriterOutputStream.html#WriterOutputStream(java.io.Writer, java.nio.charset.Charset)">WriterOutputStream(Writer, Charset)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/WriterOutputStream.html" title="class in org.apache.commons.io.output">WriterOutputStream</a></dt>
<dd>
<div class="block">Constructs a new <a href="./org/apache/commons/io/output/WriterOutputStream.html" title="class in org.apache.commons.io.output"><code>WriterOutputStream</code></a> with a default output buffer size of
 1024 characters.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/WriterOutputStream.html#WriterOutputStream(java.io.Writer, java.lang.String, int, boolean)">WriterOutputStream(Writer, String, int, boolean)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/WriterOutputStream.html" title="class in org.apache.commons.io.output">WriterOutputStream</a></dt>
<dd>
<div class="block">Constructs a new <a href="./org/apache/commons/io/output/WriterOutputStream.html" title="class in org.apache.commons.io.output"><code>WriterOutputStream</code></a>.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/WriterOutputStream.html#WriterOutputStream(java.io.Writer, java.lang.String)">WriterOutputStream(Writer, String)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/WriterOutputStream.html" title="class in org.apache.commons.io.output">WriterOutputStream</a></dt>
<dd>
<div class="block">Constructs a new <a href="./org/apache/commons/io/output/WriterOutputStream.html" title="class in org.apache.commons.io.output"><code>WriterOutputStream</code></a> with a default output buffer size of
 1024 characters.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/WriterOutputStream.html#WriterOutputStream(java.io.Writer)">WriterOutputStream(Writer)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/WriterOutputStream.html" title="class in org.apache.commons.io.output">WriterOutputStream</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/output/WriterOutputStream.html#WriterOutputStream(java.io.Writer, java.nio.charset.Charset)"><code>WriterOutputStream.WriterOutputStream(Writer, Charset)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#writeStringToFile(java.io.File, java.lang.String, java.nio.charset.Charset)">writeStringToFile(File, String, Charset)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Writes a String to a file creating the file if it does not exist.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#writeStringToFile(java.io.File, java.lang.String, java.lang.String)">writeStringToFile(File, String, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Writes a String to a file creating the file if it does not exist.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#writeStringToFile(java.io.File, java.lang.String, java.nio.charset.Charset, boolean)">writeStringToFile(File, String, Charset, boolean)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Writes a String to a file creating the file if it does not exist.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#writeStringToFile(java.io.File, java.lang.String, java.lang.String, boolean)">writeStringToFile(File, String, String, boolean)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block">Writes a String to a file creating the file if it does not exist.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#writeStringToFile(java.io.File, java.lang.String)">writeStringToFile(File, String)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/FileUtils.html#writeStringToFile(java.io.File, java.lang.String, java.nio.charset.Charset)"><code>FileUtils.writeStringToFile(File, String, Charset)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/FileUtils.html#writeStringToFile(java.io.File, java.lang.String, boolean)">writeStringToFile(File, String, boolean)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/FileUtils.html" title="class in org.apache.commons.io">FileUtils</a></dt>
<dd>
<div class="block"><span class="strong">Deprecated.</span>
<div class="block"><i>2.5 use <a href="./org/apache/commons/io/FileUtils.html#writeStringToFile(java.io.File, java.lang.String, java.nio.charset.Charset, boolean)"><code>FileUtils.writeStringToFile(File, String, Charset, boolean)</code></a> instead</i></div>
</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#writeSwappedDouble(byte[], int, double)">writeSwappedDouble(byte[], int, double)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Writes a "double" value to a byte array at a given offset.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#writeSwappedDouble(java.io.OutputStream, double)">writeSwappedDouble(OutputStream, double)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Writes a "double" value to an OutputStream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#writeSwappedFloat(byte[], int, float)">writeSwappedFloat(byte[], int, float)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Writes a "float" value to a byte array at a given offset.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#writeSwappedFloat(java.io.OutputStream, float)">writeSwappedFloat(OutputStream, float)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Writes a "float" value to an OutputStream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#writeSwappedInteger(byte[], int, int)">writeSwappedInteger(byte[], int, int)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Writes a "int" value to a byte array at a given offset.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#writeSwappedInteger(java.io.OutputStream, int)">writeSwappedInteger(OutputStream, int)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Writes a "int" value to an OutputStream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#writeSwappedLong(byte[], int, long)">writeSwappedLong(byte[], int, long)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Writes a "long" value to a byte array at a given offset.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#writeSwappedLong(java.io.OutputStream, long)">writeSwappedLong(OutputStream, long)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Writes a "long" value to an OutputStream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#writeSwappedShort(byte[], int, short)">writeSwappedShort(byte[], int, short)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Writes a "short" value to a byte array at a given offset.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/EndianUtils.html#writeSwappedShort(java.io.OutputStream, short)">writeSwappedShort(OutputStream, short)</a></span> - Static method in class org.apache.commons.io.<a href="./org/apache/commons/io/EndianUtils.html" title="class in org.apache.commons.io">EndianUtils</a></dt>
<dd>
<div class="block">Writes a "short" value to an OutputStream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/ByteArrayOutputStream.html#writeTo(java.io.OutputStream)">writeTo(OutputStream)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/ByteArrayOutputStream.html" title="class in org.apache.commons.io.output">ByteArrayOutputStream</a></dt>
<dd>
<div class="block">Writes the entire contents of this byte stream to the
 specified output stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/DeferredFileOutputStream.html#writeTo(java.io.OutputStream)">writeTo(OutputStream)</a></span> - Method in class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/DeferredFileOutputStream.html" title="class in org.apache.commons.io.output">DeferredFileOutputStream</a></dt>
<dd>
<div class="block">Writes the data from this output stream to the specified output stream,
 after it has been closed.</div>
</dd>
</dl>
<a name="_X_">
<!--   -->
</a>
<h2 class="title">X</h2>
<dl>
<dt><a href="./org/apache/commons/io/input/XmlStreamReader.html" title="class in org.apache.commons.io.input"><span class="strong">XmlStreamReader</span></a> - Class in <a href="./org/apache/commons/io/input/package-summary.html">org.apache.commons.io.input</a></dt>
<dd>
<div class="block">Character stream that handles all the necessary Voodo to figure out the
 charset encoding of the XML document within the stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/XmlStreamReader.html#XmlStreamReader(java.io.File)">XmlStreamReader(File)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/XmlStreamReader.html" title="class in org.apache.commons.io.input">XmlStreamReader</a></dt>
<dd>
<div class="block">Creates a Reader for a File.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/XmlStreamReader.html#XmlStreamReader(java.io.InputStream)">XmlStreamReader(InputStream)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/XmlStreamReader.html" title="class in org.apache.commons.io.input">XmlStreamReader</a></dt>
<dd>
<div class="block">Creates a Reader for a raw InputStream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/XmlStreamReader.html#XmlStreamReader(java.io.InputStream, boolean)">XmlStreamReader(InputStream, boolean)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/XmlStreamReader.html" title="class in org.apache.commons.io.input">XmlStreamReader</a></dt>
<dd>
<div class="block">Creates a Reader for a raw InputStream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/XmlStreamReader.html#XmlStreamReader(java.io.InputStream, boolean, java.lang.String)">XmlStreamReader(InputStream, boolean, String)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/XmlStreamReader.html" title="class in org.apache.commons.io.input">XmlStreamReader</a></dt>
<dd>
<div class="block">Creates a Reader for a raw InputStream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/XmlStreamReader.html#XmlStreamReader(java.net.URL)">XmlStreamReader(URL)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/XmlStreamReader.html" title="class in org.apache.commons.io.input">XmlStreamReader</a></dt>
<dd>
<div class="block">Creates a Reader using the InputStream of a URL.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/XmlStreamReader.html#XmlStreamReader(java.net.URLConnection, java.lang.String)">XmlStreamReader(URLConnection, String)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/XmlStreamReader.html" title="class in org.apache.commons.io.input">XmlStreamReader</a></dt>
<dd>
<div class="block">Creates a Reader using the InputStream of a URLConnection.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/XmlStreamReader.html#XmlStreamReader(java.io.InputStream, java.lang.String)">XmlStreamReader(InputStream, String)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/XmlStreamReader.html" title="class in org.apache.commons.io.input">XmlStreamReader</a></dt>
<dd>
<div class="block">Creates a Reader using an InputStream an the associated content-type
 header.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/XmlStreamReader.html#XmlStreamReader(java.io.InputStream, java.lang.String, boolean, java.lang.String)">XmlStreamReader(InputStream, String, boolean, String)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/XmlStreamReader.html" title="class in org.apache.commons.io.input">XmlStreamReader</a></dt>
<dd>
<div class="block">Creates a Reader using an InputStream an the associated content-type
 header.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/XmlStreamReader.html#XmlStreamReader(java.io.InputStream, java.lang.String, boolean)">XmlStreamReader(InputStream, String, boolean)</a></span> - Constructor for class org.apache.commons.io.input.<a href="./org/apache/commons/io/input/XmlStreamReader.html" title="class in org.apache.commons.io.input">XmlStreamReader</a></dt>
<dd>
<div class="block">Creates a Reader using an InputStream an the associated content-type
 header.</div>
</dd>
<dt><a href="./org/apache/commons/io/input/XmlStreamReaderException.html" title="class in org.apache.commons.io.input"><span class="strong">XmlStreamReaderException</span></a> - Exception in <a href="./org/apache/commons/io/input/package-summary.html">org.apache.commons.io.input</a></dt>
<dd>
<div class="block">The XmlStreamReaderException is thrown by the XmlStreamReader constructors if
 the charset encoding can not be determined according to the XML 1.0
 specification and RFC 3023.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/XmlStreamReaderException.html#XmlStreamReaderException(java.lang.String, java.lang.String, java.lang.String, java.lang.String)">XmlStreamReaderException(String, String, String, String)</a></span> - Constructor for exception org.apache.commons.io.input.<a href="./org/apache/commons/io/input/XmlStreamReaderException.html" title="class in org.apache.commons.io.input">XmlStreamReaderException</a></dt>
<dd>
<div class="block">Creates an exception instance if the charset encoding could not be
 determined.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/input/XmlStreamReaderException.html#XmlStreamReaderException(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)">XmlStreamReaderException(String, String, String, String, String, String)</a></span> - Constructor for exception org.apache.commons.io.input.<a href="./org/apache/commons/io/input/XmlStreamReaderException.html" title="class in org.apache.commons.io.input">XmlStreamReaderException</a></dt>
<dd>
<div class="block">Creates an exception instance if the charset encoding could not be
 determined.</div>
</dd>
<dt><a href="./org/apache/commons/io/output/XmlStreamWriter.html" title="class in org.apache.commons.io.output"><span class="strong">XmlStreamWriter</span></a> - Class in <a href="./org/apache/commons/io/output/package-summary.html">org.apache.commons.io.output</a></dt>
<dd>
<div class="block">Character stream that handles all the necessary Voodo to figure out the
 charset encoding of the XML document written to the stream.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/XmlStreamWriter.html#XmlStreamWriter(java.io.OutputStream)">XmlStreamWriter(OutputStream)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/XmlStreamWriter.html" title="class in org.apache.commons.io.output">XmlStreamWriter</a></dt>
<dd>
<div class="block">Construct an new XML stream writer for the specified output stream
 with a default encoding of UTF-8.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/XmlStreamWriter.html#XmlStreamWriter(java.io.OutputStream, java.lang.String)">XmlStreamWriter(OutputStream, String)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/XmlStreamWriter.html" title="class in org.apache.commons.io.output">XmlStreamWriter</a></dt>
<dd>
<div class="block">Construct an new XML stream writer for the specified output stream
 with the specified default encoding.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/XmlStreamWriter.html#XmlStreamWriter(java.io.File)">XmlStreamWriter(File)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/XmlStreamWriter.html" title="class in org.apache.commons.io.output">XmlStreamWriter</a></dt>
<dd>
<div class="block">Construct an new XML stream writer for the specified file
 with a default encoding of UTF-8.</div>
</dd>
<dt><span class="strong"><a href="./org/apache/commons/io/output/XmlStreamWriter.html#XmlStreamWriter(java.io.File, java.lang.String)">XmlStreamWriter(File, String)</a></span> - Constructor for class org.apache.commons.io.output.<a href="./org/apache/commons/io/output/XmlStreamWriter.html" title="class in org.apache.commons.io.output">XmlStreamWriter</a></dt>
<dd>
<div class="block">Construct an new XML stream writer for the specified file
 with the specified default encoding.</div>
</dd>
</dl>
<a href="#_A_">A</a>&nbsp;<a href="#_B_">B</a>&nbsp;<a href="#_C_">C</a>&nbsp;<a href="#_D_">D</a>&nbsp;<a href="#_E_">E</a>&nbsp;<a href="#_F_">F</a>&nbsp;<a href="#_G_">G</a>&nbsp;<a href="#_H_">H</a>&nbsp;<a href="#_I_">I</a>&nbsp;<a href="#_L_">L</a>&nbsp;<a href="#_M_">M</a>&nbsp;<a href="#_N_">N</a>&nbsp;<a href="#_O_">O</a>&nbsp;<a href="#_P_">P</a>&nbsp;<a href="#_R_">R</a>&nbsp;<a href="#_S_">S</a>&nbsp;<a href="#_T_">T</a>&nbsp;<a href="#_U_">U</a>&nbsp;<a href="#_V_">V</a>&nbsp;<a href="#_W_">W</a>&nbsp;<a href="#_X_">X</a>&nbsp;</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="./overview-summary.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="./overview-tree.html">Tree</a></li>
<li><a href="./deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="./help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="./index.html?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="./allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2002-2013 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</small></p>
</body>
</html>