1.smb1,smb2,smb3协议
目前了解到的是 微软的共享目录一共有这三个协议
smb1 可以使用 JCIFS的网址: http://jcifs.samba.org/ 这里的api 使用 百度很多不在叙述
最大的缺点 only for smb1
smb2,smb3 可以使用 smbj github 上地址: https://github.com/hierynomus/smbj
具体的api 使用 比jcifs 复杂点 以下 是我读取我局域网内 一个 excel 文件的代码
public static InputStream smbGet1(String filename) throws IOException {
SMBClient client = new SMBClient();
Connection connection = client.connect("10.69.22.181");
AuthenticationContext ac = new AuthenticationContext("XXX@XXXX.com", "XXXXX".toCharArray(), "");
Session session = connection.authenticate(ac);
File f = null;
// Connect to Share
try {
DiskShare share = (DiskShare) session.connectShare("Shared");
f = share.openFile(filename,
new HashSet(Arrays.asList(AccessMask.GENERIC_ALL)),
new HashSet(Arrays.asList(FileAttributes.FILE_ATTRIBUTE_NORMAL)),
SMB2ShareAccess.ALL,
SMB2CreateDisposition.FILE_OPEN,
new HashSet(Arrays.asList(SMB2CreateOptions.FILE_DIRECTORY_FILE))
);
}catch (Exception e){
e.printStackTrace();
}
return f.getInputStream();
}
以上代码返回的 inportStream 以流形式 读出来