Extending existing programs to network filesystems should be straightforward using the extensions provided. You simply replace declarations of type java.io.FileXYZ with the counterpart java.io.XFileXYZ. Here are a few simple examples of applications that use the APIs:
import java.io.*;
import java.net.*;
import com.sun.xfile.*;
XFile xf = new XFile("file.txt");
if (xf.isFile()) {
System.out.println("file is file");
}
if (xf.isDirectory()) {
System.out.println("file is directory");
}
XFileInputStream nfis = null;
nfis = new XFileInputStream(xf);
for (int count = 0; ; count++) {
int val = (byte) nfis.read();
if (val == -1)
break;
System.out.write(val);
}
System.out.println("read " + count + " bytes ");
import java.io.*;
import java.net.*;
import com.sun.xfile.*;
// create connection to host
XFile xf = new XFile("nfs://ian/simple.html");
XRandomAccessFile xraf = new XRandomAccessFile(xf,"r");
int count = 10;
xraf.seek(count);
System.out.println("Value at position " + count
+ " is " + (byte)xraf.read());
System.out.println("Current file position is "
+ xraf.getFilePointer());
xraf.seek(0);
for (count = 0 ; count < 100 ; count++) {
int val = xraf.read();
if (val == -1)
break;
System.out.print(val);
}