在java程序中訪問windows有用戶名和密碼保護的共享目錄


Java程序中訪問擁有全部讀寫權限的目錄相對比較簡單,和普通的目錄沒有什么差別。
但是要訪問一個需要用戶和密碼驗證的目錄就需要一點點小技巧了。
這里介紹一個開源的庫能夠比較容易的實現這一需求。
1。 下載庫文件:
 https://jcifs.samba.org/
下載的zip文件中, 不僅包含了jar文件,還有文檔和示例。

2。拷貝jcif-1.3.18.jar到類路徑中。

3。代碼示例:
 1     String user = "your_user_name";
 2     String pass ="your_pass_word";
 3 
 4     String sharedFolder="shared";
 5     String path="smb://ip_address/"+sharedFolder+"/test.txt";
 6     NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication("",user, pass);
 7     SmbFile smbFile = new SmbFile(path,auth);
 8     SmbFileOutputStream smbfos = new SmbFileOutputStream(smbFile);
 9     smbfos.write("testing.and writing to a file".getBytes());
10     System.out.println("completed nice !");
說明: 如果有一個共享目錄,比如: \\192.168.1.2\testdir\
那么smb的路徑就是:smb://192.168.1.2/testdir/
NtlmPasswordAuthentication需要三個參數, 第一個是域名,沒有的話,填null, 第二個是用戶名,第三個是密碼

得到SmbFile之后,操作就和java.io.File基本一樣了。
另外還有一些功能比如:
SmbFile.copyTo
SmbFile.renameTo
等等


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM