Java Reference
In-Depth Information
Discussion
This operation is fairly common, so I've packaged it as a set of methods in a class called
FileIO
in my utilities package
com.darwinsys.util
. Here's a simple test program that uses
it to copy a source file to a backup file:
src/demo/java/io/FileIoDemo.java
package
package
com
.
darwinsys
.
io
;
import
import
java.io.IOException
java.io.IOException
;
public
public class
class
FileIoDemo
FileIoDemo
{
public
public static
static
void
void
main
(
String
[]
av
) {
try
try
{
FileIO
.
copyFile
(
"FileIO.java"
,
"FileIO.bak"
);
FileIO
.
copyFile
(
"FileIO.class"
,
"FileIO-class.bak"
);
}
catch
catch
(
IOException e
) {
System
.
err
.
println
(
e
);
}
}
}
How does
FileIO
work? Its
copyFile
method takes several forms, depending on whether
you have two filenames, a filename and a
PrintWriter
, and so on. The code for
FileIO
it-
self is shown in
Example 10-6
.
Example 10-6. src/main/java/com/darwinsys/io/FileIO.java
package
package
com
.
darwinsys
.
io
;
import
import
java.io.*
java.io.*
;
import
import
java.util.Enumeration
java.util.Enumeration
;
import
import
java.util.jar.JarEntry
java.util.jar.JarEntry
;
import
import
java.util.jar.JarFile
java.util.jar.JarFile
;
import
import
com.darwinsys.lang.StringUtil
com.darwinsys.lang.StringUtil
;
import
import
com.darwinsys.util.Debug
com.darwinsys.util.Debug
;
/**
* Some file I-O primitives reimplemented in Java.
* All methods are static, since there is no state.
*/
public
public class
class
FileIO
FileIO
{