<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head><title>com.Ostermiller.util Java Utilities</title>
<meta name="description" content="Open source (GPL) Java utilities (ostermillerutils) for common tasks such as CSV, Base64, MD5, String manipulation.">
<meta name="keywords" content="ostermillerutils, ostermillerutil, ostermiller utils, ostermiller utilities, java utils, java utilities">
<link rel="stylesheet" media="screen" title="Utilites Look and Feel" href="utils.css" type="text/css">
</head>
<body>

<div class=titlebox>
<h1><a href="http://ostermiller.org/utils/"><img border="0" align="absmiddle" alt="Ostermillerutil Java Utilities"src="http://ostermiller.org/javacup.png"></a> Java Utilities - OstermillerUtils</h1>
</div>
<table><tr>
<td valign="top" width="200" class=nav>
<div class=linksbox>
<ul>
<li><b>Utilities</b>
  <ul>
  <li><a href="download.html">Download</a></li>
  <li><a href="source.html">Browse Source</a></li>
  <li><a href="doc.html">JavaDoc</a></li>
  <li><a href="bugs.html">Bugs/Features</a></li>
  <li><a href="contributors.html">Contributors</a></li>
  <li><a href="licenseFAQ.html">License</a></li>
  </ul>
</li>
</ul>
<ul>
<li><b>Utilities</b>
  <ul>
  <li><a href="ArrayHelper.html">ArrayHelper</a></li>
  <li><a href="Base64.html">Base64</a></li>
  <li><a href="Browser.html">Browser</a></li>
  <li><a href="CGIParser.html">CGI Query String Parser</a></li>
  <li><a href="CircularBuffer.html">Circular Buffers</a></li>
  <li><a href="Concat.html">Concatenation Streams</a></li>
  <li><a href="CmdLn.html">Command Line Parser</a></li>
  <li><a href="CSV.html">Comma Separated Values (CSV)</a></li>
  <li><a href="ExecHelper.html">Exec Helper</a></li>
  <li><a href="ExcelCSV.html">Excel CSV</a></li>
  <li><a href="FileHelper.html">File Helper</a></li>
  <li><a href="Iterator_Enumeration.html">Iterators and Enumerations</a></li>
  <li><a href="LabeledCSVParser.html">Labeled CSV Parser</a></li>
  <li><a href="LineEnds.html">Line Ends</a></li>
  <li><a href="MD5.html">MD5 Sums</a></li>
  <li><a href="NoCloseStream.html">NoClose Streams</a></li>
  <li><a href="Parallelizer.html">Parallelizer</a></li>
  <li><a href="PasswordDialog.html">Password Dialog</a></li>
  <li><a href="RandPass.html">Random Password Generator</a></li>
  <li><a href="SignificantFigures.html">Significant Figures</a></li>
  <li><a href="SizeLimitInputStream.html">Size Limit Input Stream</a></li>
  <li><a href="StraightStreamReader.html">Straight Stream Reader</a></li>
  <li><a href="StringHelper.html">String Helper</a></li>
  <li><a href="StringTokenizer.html">String Tokenizer</a></li>
  <li><a href="Tabs.html">Tabs</a></li>
  <li><a href="UberProperties.html">Uber Properties</a></li>
  </ul>
</li>
</ul>
</div>
</td>
<td valign="top" class=main>


Open source (GPL) Java utilities maintained by Stephen Ostermiller with help from <a href="contributors.html">many contributors</a>.   The utilities can be obtained in .jar format from the <a href="download.html">download page</a>.


<br clear="all">

<script type="text/javascript"><!--
google_ad_client = "pub-2385172974335864";
google_ad_width = 336;
google_ad_height = 280;
google_ad_format = "336x280_as";
google_ad_type = "text";
google_ad_channel ="";
google_color_border = "A8DDA0";
google_color_bg = "EBFFED";
google_color_link = "0000CC";
google_color_url = "008000";
google_color_text = "6F6F6F";
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<br clear="all">


<h2>Components</h2>
<div class=utillist>
<ul>
<li><a name="array_helper" href="ArrayHelper.html">ArrayHelper</a> - Helpful utilities for working with arrays.</li>
<li><a name="base64" href="Base64.html">Base64</a> - Encode and decode base 64.</li>
<li><a name="browser" href="Browser.html">Browser</a> - Open a browser from an application on Windows, Unix, or Macintosh.</li>
<li><a name="cgi_parser" href="CGIParser.html">CGI Query String Parser</a> - Libraries to to parse the query data supplied by HTTP GET or POST requests.</li>
<li><a name="circularbuffer" href="CircularBuffer.html">Circular Buffers</a> - Implements the circular buffer producer/consumer model for bytes.</li>
<li><a name="cmdln" href="CmdLn.html">Command Line Parser</a> - Handle options and arguments to Java command line programs.</li>
<li><a name="concat" href="Concat.html">Concatenation Streams</a> - Combine multiple streams of incoming data to create a single stream.</li>
<li><a name="csv_parser" href="CSV.html">Comma Separated Values (CSV)</a> - Libraries to read and write files in Comma Separated Value (CSV) format. (<a name="excel_csv_parser" href="ExcelCSV.html">Excel CSV Format</a> also available)</li>
<li><a name="exec_helper" href="ExecHelper.html">Exec Helper</a> - Convenience methods for executing external applications that output data.</li>
<li><a name="file_helper" href="FileHelper.html">File Helper</a> - Methods for manipulating files.</li>
<li><a name="iterator_enumeration" href="Iterator_Enumeration.html">Iterators and Enumerations</a> - Convert between Iterators and Enumerations or convert arrays to Iterators or Enumerations.</li>
<li><a name="line_ends" href="LineEnds.html">Line Ends</a> - Converts text files between various system formats.</li>
<li><a name="md5" href="MD5.html">MD5 Sums</a> - Classes for generating MD5 checksums on String, Byte arrays, Streams, or Files.</li>
<li><a name="no_close_stream" href="NoCloseStream.html">NoClose Streams</a> - Create streams that cannot be closed with the regular close() mechanism.</li>
<li><a name="parallelizer" href="Parallelizer.html">Parallelizer</a> - Runs multiple jobs in parallel, n threads at a time, and waits until all threads are complete before continuing.</li>
<li><a name="password_dialog" href="PasswordDialog.html">Password Dialog</a> - A password dialog box written for Swing.</li>
<li><a name="randpass" href="RandPass.html">Random Password Generator</a> - Generate a random String using a cryptographically secure random number generator.</li>
<li><a name="significant_figures" href="SignificantFigures.html">Significant Figures</a> - Handles parsing, rounding, and displaying numbers for scientific applications.</li>
<li><a name="size_limit_input_stream" href="SizeLimitInputStream.html">Size Limit Input Stream</a> - Create a sub-stream of a specified length from an existing input stream.</li>
<li><a name="string_helper" href="StringHelper.html">String Helper</a> - Methods for formatting, manipulating, and querying Strings.</li>
<li><a name="string_tokenizer" href="StringTokenizer.html">String Tokenizer</a> - A StringTokenizer replacement with enhancements.</li>
<li><a name="straight_stream_reader" href="StraightStreamReader.html">Straight Stream Reader</a> - An input stream reader that does no character class translation.</li>
<li><a name="tabs" href="Tabs.html">Tabs</a> - Tab adjuster that can convert tabs to spaces and vice versa.</li>
<li><a name="uber_properties" href="UberProperties.html">Uber Properties</a> - A replacement for the java.utils.Properties class with enhancements.</li>
</ul>
</div>
<div class=modifications>
<h2>Modifications</h2>
Several tools are useful if you want
to modify and recompile these utilities:
<ul>
<li><a href="http://java.sun.com/javase/downloads/index.jsp">Java SDK</a> - Includes the Java compiler.</li>
<li><a href="http://ant.apache.org/">Apache Ant</a> - for building distribution files.</li>
<li><a href="http://jflex.de/">JFlex</a> - to generate lexers used by several utilities.</li>
<li><a href="http://ostermiller.org/bte/">Better Template Engine</a> - To compile the website documentation.</li>
<li><a href="http://ostermiller.org/syntax/">com.Ostermiller.Syntax package</a> - To color the HTML source code.</li>
<li>Make - (optional in addition to ant) to automate the build.  Consider "make", "make install", "make clean", "make build", and "make javadoc".</li>
<li><a href="http://cygwin.com/">Cygwin</a> - to get Unix utilities (including make and CVS) for Windows.</li>
</ul>
</div>


</td>
</tr></table>

<hr>

<h2><a name="license">License</a></h2>

<p>OstermillerUtil Java Utilities Copyright (c) 2001-2020 by <a href="http://ostermiller.org/contact.pl?regarding=Java+Utilities">Stephen Ostermiller</a> and <a href="contributors.html">other contributors</a></p>

<p>The OstermillerUtils library is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
by the Free Software Foundation; either version 2 of the License or (at
your option) any later version.</p>

<p>This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the
<a href="http://www.gnu.org/copyleft/gpl.html">GNU General Public License</a> for more details.</p>

<p><a href="licenseFAQ.html">License FAQs</a> - Why GPL? How about the LGPL or something else?</p>

<div class=sitenav><a href="http://ostermiller.org/">ostermiller.org</a> (<a href="http://ostermiller.org/siteindex.html">site index</a>)</div>

</body>
</html>