Sample Samba Connection in JAVA

In this tutorial, i will share to you how to create folder, copy file to samba and move file in samba.

Below my code:

import java.io.OutputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
 
import jcifs.smb.NtlmPasswordAuthentication;
import jcifs.smb.SmbFile;
 
public class SampleSamba {
 
    private String sambaHost;
    private String sambaPort;
    private String sambaSharedFolder;
    private String sambaUser;
    private String sambaPassword;
 
	public void createFolderInSamba(String sambaFolderName) throws Exception {
		String sambaConnectionString = "smb://" + sambaHost + ":" + sambaPort + "/" + sambaSharedFolder + "/" + sambaFolderName;
 
		SmbFile smbFile = null;
		NtlmPasswordAuthentication auth = null;
		if (sambaUser.equals("") && sambaPassword.equals("")) {
			// smbFile = new SmbFile(sambaConnectionString);
			smbFile = new SmbFile(sambaConnectionString, NtlmPasswordAuthentication.ANONYMOUS);
		} else {
			auth = new NtlmPasswordAuthentication("", sambaUser, sambaPassword);
			smbFile = new SmbFile(sambaConnectionString, auth);
		}
 
		if (!smbFile.isDirectory()) {
			smbFile.mkdirs();
		} else {
//				System.out.println("folder available in samba");
		}
	}
 
	public void copyFileToSamba(String localFileName, String sambaFileName) throws Exception {
		String sambaConnectionString = "smb://" + sambaHost + ":" + "/" + sambaSharedFolder + "/" + sambaFileName;
 
		Path source = Paths.get(localFileName);
		SmbFile smbFile = null;
		NtlmPasswordAuthentication auth = null;
 
		if (sambaUser.equals("") && sambaPassword.equals("")) {
			// smbFile = new SmbFile(sambaConnectionString);
			smbFile = new SmbFile(sambaConnectionString, NtlmPasswordAuthentication.ANONYMOUS);
		} else {
			auth = new NtlmPasswordAuthentication("", sambaUser, sambaPassword);
			smbFile = new SmbFile(sambaConnectionString, auth);
		}
 
		OutputStream out = smbFile.getOutputStream();
		Files.copy(source, out);
	}
 
	public void moveSambaFileToSamba(String sourceShared, String destinationShared) throws Exception {
		String sourceConnectionString = "smb:" + sourceShared;
		String destinationConnectionString = "smb:" + destinationShared;
 
		SmbFile sourceFile = null;
		SmbFile destinationFile = null;
		NtlmPasswordAuthentication auth = null;
 
		if (sambaUser.equals("") && sambaPassword.equals("")) {
			// smbFile = new SmbFile(sambaConnectionString);
			sourceFile = new SmbFile(sourceConnectionString, NtlmPasswordAuthentication.ANONYMOUS);
			destinationFile = new SmbFile(destinationConnectionString, NtlmPasswordAuthentication.ANONYMOUS);
		} else {
			auth = new NtlmPasswordAuthentication("", sambaUser, sambaPassword);
			sourceFile = new SmbFile(sourceConnectionString, auth);
			destinationFile = new SmbFile(destinationConnectionString, auth);
		}
 
		if (destinationFile.exists()) {
			destinationFile.delete();
		}
 
		sourceFile.renameTo(destinationFile);
	}
}

CMIIW :).

All of my tutorial can be found here.

Leave a Reply

Your email address will not be published. Required fields are marked *

Afiseaza emoticoanele Locco.Ro