资源简介
使用smbj.jar访问共享文件夹,支持SMB2/SMB3,用于解决使用jcifs.jar不支持SMB2/SMB3的问题
代码片段和文件信息
package com.smb1.utils;
import java.util.concurrent.TimeUnit;
import com.hierynomus.msfscc.fileinformation.FileIdBothDirectoryInformation;
import com.hierynomus.smbj.SMBClient;
import com.hierynomus.smbj.SmbConfig;
import com.hierynomus.smbj.auth.AuthenticationContext;
import com.hierynomus.smbj.connection.Connection;
import com.hierynomus.smbj.session.Session;
import com.hierynomus.smbj.share.DiskShare;
/**
* SMB2连接示例
* 例: 我们当前要连接 IP为:123.123.123.123 目录为: SRC/SMB2/ 下的文件
* @author liuyb
*
*/
public class SMB2Connect {
private static final String SHARE_DOMAIN = “计算机域名“;
private static final String SHARE_USER = “共享文件设置的账户“;
private static final String SHARE_PASSWORD = “共享文件设置的密码“;
private static final String SHARE_SRC_DIR = “SRC/“;
private static final String SHARE_DST_DIR = “SMB2/“;
public static void main(String[] args) {
// 设置超时时间(可选)
SmbConfig config = SmbConfig.builder().withTimeout(120 TimeUnit.SECONDS)
.withTimeout(120 TimeUnit.SECONDS) // 超时设置读,写和Transact超时(默认为60秒)
.withSoTimeout(180 TimeUnit.SECONDS) // Socket超时(默认为0秒)
.build();
// 如果不设置超时时间 SMBClient client = new SMBClient();
SMBClient client = new SMBClient(config);
try {
Connection connection = client.connect(“IP或域名“);
AuthenticationContext ac = new AuthenticationContext(SHARE_USER SHARE_PASSWORD.toCharArray() SHARE_DOMAIN);
Session session = connection.authenticate(ac);
// 连接共享文件夹
DiskShare share = (DiskShare) session.connectShare(SHARE_SRC_DIR);
for (FileIdBothDirectoryInformation f : share.list(SHARE_DST_DIR “*.mp4“)) {
System.out.println(“File : “ + f.getFileName());
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (client != null) {
client.close();
}
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2042 2018-11-05 18:23 smbj-jar包相关\SMB2Connect.java
文件 68793 2018-11-05 17:21 smbj-jar包相关\asn-one-0.4.0.jar
文件 489884 2018-11-05 17:13 smbj-jar包相关\log4j-1.2.17.jar
文件 98235 2018-11-05 17:19 smbj-jar包相关\mbassador-1.3.1.jar
文件 29257 2018-11-05 17:11 smbj-jar包相关\slf4j-api-1.7.7.jar
文件 8819 2018-11-05 17:10 smbj-jar包相关\slf4j-log4j12-1.7.2.jar
文件 457064 2018-11-05 16:48 smbj-jar包相关\smbj-0.9.0.jar
目录 0 2018-11-05 18:23 smbj-jar包相关\
- 上一篇:java3D显示一个球的代码
- 下一篇:java实现数据的备份与恢复jar包
评论
共有 条评论