smb 連線判斷資料夾是否存在,登陸密碼含有特殊字元的情況
阿新 • • 發佈:2019-01-02
package Util;
import java.net.InetAddress;
import java.net.UnknownHostException;
import jcifs.UniAddress;
import jcifs.smb.NtlmPasswordAuthentication;
import jcifs.smb.SmbException;
import jcifs.smb.SmbFile;
import jcifs.smb.SmbSession;
//引數即為要判斷的路徑 例:smb://192.168.30.130/data/MPStudio/000009/
public class SmbUtil {
public static boolean smbExist(String remoteUrl) throws SmbException {
NtlmPasswordAuthentication auth = null ;
SmbFile remoteFile = null;
try {
String userName = "administrator";
String password = " [email protected]";
String domainIP = "192.168.30.130";
InetAddress ip = InetAddress.getByName("192.168.30.130");
UniAddress myDomain = new UniAddress(ip);
auth = new NtlmPasswordAuthentication(domainIP, userName, password); //先登入驗證
// System.out.println("auth:"+auth.getDomain());
// System.out.println("username:"+auth.getUsername());
// System.out.println("password:"+auth.getPassword());
SmbSession.logon(myDomain,auth);
} catch (UnknownHostException e) {
e.printStackTrace();
System.out.println("111!!!");
} catch (SmbException e) {
e.printStackTrace();
System.out.println("222!!!");
}
try {
remoteFile = new SmbFile(remoteUrl,auth); //注意,這句是關鍵,SmbFile 不支援特殊字元的密碼,因此在這裡放置
remoteFile.connect();
return remoteFile.isDirectory();
}
catch (Exception e) {
e.printStackTrace();
}
return remoteFile.isDirectory();
}
}
import java.net.InetAddress;
import java.net.UnknownHostException;
import jcifs.UniAddress;
import jcifs.smb.NtlmPasswordAuthentication;
import jcifs.smb.SmbException;
import jcifs.smb.SmbFile;
import jcifs.smb.SmbSession;
//引數即為要判斷的路徑 例:smb://192.168.30.130/data/MPStudio/000009/
public class SmbUtil {
public static boolean smbExist(String remoteUrl) throws SmbException {
NtlmPasswordAuthentication auth = null ;
SmbFile remoteFile = null;
try {
String userName = "administrator";
String password = "
String domainIP = "192.168.30.130";
InetAddress ip = InetAddress.getByName("192.168.30.130");
UniAddress myDomain = new UniAddress(ip);
auth = new NtlmPasswordAuthentication(domainIP, userName, password); //先登入驗證
// System.out.println("auth:"+auth.getDomain());
// System.out.println("username:"+auth.getUsername());
// System.out.println("password:"+auth.getPassword());
SmbSession.logon(myDomain,auth);
} catch (UnknownHostException e) {
e.printStackTrace();
System.out.println("111!!!");
} catch (SmbException e) {
e.printStackTrace();
System.out.println("222!!!");
}
try {
remoteFile = new SmbFile(remoteUrl,auth); //注意,這句是關鍵,SmbFile 不支援特殊字元的密碼,因此在這裡放置
remoteFile.connect();
return remoteFile.isDirectory();
}
catch (Exception e) {
e.printStackTrace();
}
return remoteFile.isDirectory();
}
}