This program takes a file or a directory hierarchy and copies it somewhere else.
Usage:
% java rcopy src dest
import java.io.*;
import com.sun.xfile.*;
class rcopy {
static void copy(XFile src, XFile dst) throws IOException {
if (src.isDirectory()) {
dst.mkdir();
String[] dirList = src.list();
for (int i = 0; i < dirList.length; i++)
String entry = dirList[i];
copy(new XFile(src, entry), new XFile(dst, entry));
}
} else { // assume it's a file
XFileInputStream in = new XFileInputStream(src);
XFileOutputStream out = new XFileOutputStream(dst);
int c;
byte[] buf = new byte[32768];
while ((c = in.read(buf)) > 0)
out.write(buf, 0, c);
in.close();
out.close();
}
}
public static void main(String av[]) {
try {
copy(new XFile(av[0]), new XFile(av[1]));
} catch (IOException e) {
System.err.println(e);
e.printStackTrace();
}
}
}
|