Chapter 10. I/O and Networking
Introduction
If you’ve ever had to copy a File
or copy the contents of an InputStream
to an
OutputStream
, you’ve probably
wondered why Java goes out of its way to make things difficult. Java
I/O is not a terribly complex subject, but it does have a knack for
turning simpler tasks into complex nests of heavily wrapped
Reader
s and streams. Jakarta Commons IO fills a
few gaps in Java’s I/O and networking capabilities
by providing utilities and methods to copy streams, copy files, touch
files, recursively delete directories, and safely close
Reader
s and streams. If you are working with
Reader
, Writer
,
InputStream
, or OutputStream
,
you should take a look at IOUtils
and
CopyUtils
; they may save you a few lines of
tedious code.
Commons IO also provides a set of simple
FilenameFilter
implementations, which can be used
to selectively list files or directories. In addition to Commons
IO’s FilenameFilter
implementations, Jakarta ORO’s
GlobFilenameFilter
and
Perl5FilenameFilter
are presented to introduce you
to more complex filters involving expressions. ORO is a subproject of
Jakarta that provides support for Perl 5 regular expressions and glob
expressions. A glob expression is commonly used when listing files in
a directory; for example, the expression, *.xml
,
is a glob expression that matches every file that ends in
.xml
. While Java 1.4 provides support for regular expressions, there are subtle differences between the regular expression syntax supported by Java ...
Get Jakarta Commons Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.