smb 连接判断文件夹是否存在,登陆密码含有特殊字符的情况

来源:转载

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();
    }


}



分享给朋友:
您可能感兴趣的文章:
随机阅读: