Code Examples jMount
NFS Mount
// define the NFS server and export
server = "nfs://1.2.3.4";
export = "/srv/nfs";
// define a credentials object
credentials = new PasswordCredentials("user", "password", "domain");
try (Mount mount = new Mount(server, export, credentials)) {
// do some work
}
SMB Mount
// define the SMB server and share
server = "smb://1.2.3.4";
share = "smbshare";
// define a credentials object
credentials = new PasswordCredentials("user", "password", "domain");
try (Mount mount = new Mount(server, share, credentials)) {
// do some work
}
Create Directory
try (Mount mount = new Mount(server, export, credentials)) {
try (Directory dir = new Directory(mount, "")) {
dir.create("MyDirectory");
}
}
Create File
try (Mount mount = new Mount(server, export, credentials)) {
try (Directory dir = new Directory(mount, "")) {
dir.createFile("myFile");
}
}
Open a File and Read the Contents
try (Mount mount = new Mount(server, export, credentials)) {
try (Directory dir = new Directory(mount, "")) {
Params fileParams = new Params(ACCESS_READ | ACCESS_WRITE | ACCESS_DELETE,
SHARE_FULL, DISPOSITION_OPEN_IF, false);
Buffer buffer = new Buffer(1024 * 1024);
try (File file = new File(mount, "myFile", fileParams)) {
while ((long len = file.read(buffer)) > 0) {
// process the buffer data
}
}
}
}
Open a File and Read the Contents Using Streams
try (Mount mount = new Mount(server, export, credentials)) {
try (Directory dir = new Directory(mount, "")) {
Params fileParams = new Params(ACCESS_READ | ACCESS_WRITE | ACCESS_DELETE,
SHARE_FULL, DISPOSITION_OPEN_IF, false);
byte[] data = new byte[1024 * 1024];
try (File file = new File(mount, "myFile", fileParams)) {
try (InputStream inputStream = new RemoteFileInputStream(file)) {
while ((amountOfDataRead = inputStream.read(data, 0, dataBufferSize)) > 0) {
// process byte data
}
}
}
}
}
Browse a Directory
try (Mount mount = new Mount(server, export, credentials)) {
try (Directory dir = new Directory(mount, "")) {
Directory.Entry item;
while ((item = dir.next()) != null) {
System.out.println("name = " + item.name + ", is it a dir = " + item.info.isDirectory());
}
}
}
Enumerate Available SMB Shares or NFS Exports
Iterator iterator = Network.enumerateShares("server", credentials);
while (iterator.hasNext()) {
Info shareInfo = (Info) iterator.next();
System.out.println("share name = " + shareInfo.name);
}
Enumerate Available Servers (SMB Only)
iterator = Network.enumerateServers("domain", credentials);
while (iterator.hasNext()) {
String serverName = (String) iterator.next();
System.out.println("server name = " + serverName);
}