|
|||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Class Summary | |
CopyUtils | Utility methods for copying data. |
EndianUtils | Utility code for dealing with different endian systems. |
FilenameUtils | Common File manipulation routines through
use of a filename. |
FileUtils | This class provides basic facilities for manipulating files and file paths. |
HexDump | Dump data in hexadecimal format; derived from a HexDump utility I wrote in June 2001 Taken from the POI project |
IOUtils | General IO Stream manipulation. |
Utility code for IO operations.
NOTE: Some classes are not yet included
in this description
The org.apache.commons.io
package contains utility code for
file- and stream-based IO operation. There are three main types of class:
This package defines an interface (IOFileFilter) that combines both
FileFilter
and FilenameFilter
. Besides
that the package offers a series of ready-to-use implementations of the
IOFileFilter interface including implementation that allow you to combine
other such filters.
These filter can be used to list files or in java.awt.FileDialog
,
for example.
The IOUtil class contains a comprehensive set of static methods for copying from:
String
byte[]
InputStream
Reader
String
byte[]
OutputStream
Writer
As an example, consider the task of reading bytes from a URL, and printing them. This would typically done like this:
import java.net.URL;
import java.io.*;
public class ManualCopy {
public static void main(String args[]) throws IOException {
InputStream in = new URL( "http://jakarta.apache.org" ).openStream();
InputStreamReader inR = new InputStreamReader( in ); BufferedReader buf = new BufferedReader( inR ); String line; while ( ( line = buf.readLine() ) != null ) { System.out.println( line ); } in.close(); } }
With the IOUtil class, that could be done with:
import java.net.URL;
import java.io.*;
import org.apache.commons.io.IOUtil;
public class IOUtilCopy {
public static void main(String args[]) throws IOException {
InputStream in = new URL( "http://jakarta.apache.org" ).openStream();
System.out.println( IOUtil.toString( in ) ); in.close(); } }
In certain application domains, such IO operations are common, and this class can save a great deal of time.
For utility code such as this, flexibility and speed are of primary importance. In IOUtil, each kind of copy method has a variant which allows the buffer size to be set. For methods that convert bytes to chars, the encoding method may also be set.
The FileUtil class contains methods for retrieving different components of a file path (directory name, file base name, file extension), methods for copying Files to other files and directories, and methods for deleting and cleaning directories. For more information, see the class description
Different computer architectures adopt different conventions for byte ordering. In so-called "Little Endian" architectures (eg Intel), the low-order byte is stored in memory at the lowest address, and subsequent bytes at higher addresses. For "Big Endian" architectures (eg Motorola), the situation is reversed.
There are two classes in this package of relevance:
DataInput
interface.
With this, one can read data from files of non-native Endian-ness.For more information, see http://www.cs.umass.edu/~verts/cs32/endian.html.
|
|||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |