您的位置:首页 > 编程语言 > Java开发

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

2015-11-03 09:58 901 查看
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 = "hahs@12345";  

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

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java