当前位置:   article > 正文

windows系统之间SMB共享文件夹的访问和操作_jcifs.smb.smbexception: failed to connect to serve

jcifs.smb.smbexception: failed to connect to server

windows系统之间SMB共享文件夹的访问和操作

前提背景:A系统与B系统的集成,A提交相关数据到B系统,数据格式为XML,XML标签中放着物理文件的访问路径,因A系统不能对外开发共享目录,B系统提供可访问操作的共享路径。

JCIFS使用

API中提供了实例说明,慢慢玩。

import jcifs.smb.*;

jcifs.Config.setProperty( "jcifs.netbios.wins", "192.168.1.220" );
NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication("domain", "username", "password");
SmbFileInputStream in = new SmbFileInputStream("smb://host/c/My Documents/somefile.txt", auth);
byte[] b = new byte[8192];
int n;
while(( n = in.read( b )) > 0 ) {
   
    System.out.write( b, 0, n );
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

示例

这里采用了设置相关参数的用法,因为共享机器中用户密码包含@这样不能直接拼接path url。

区别点,从共享那里取文件SmbFileInputStream,向共享那里送文件SmbFileOutputStream

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import jcifs.Config;
import jcifs.smb.NtlmPasswordAuthentication;
import jcifs.smb.SmbException;
import jcifs.smb.SmbFile;
import jcifs.smb.SmbFileInputStream;
import jcifs.smb.SmbFileOutputStream;

public class SMBUtil {
   

	static NtlmPasswordAuthentication auth;
	static {
   
		//先祭天,如果不加,访问时长8秒起步,加快访问共享目录的速度
		Config.setProperty("jcifs.netbios.wins", "共享目录IP(0.0.0.0)");
		Config
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/1005424
推荐阅读
相关标签
  

闽ICP备14008679号