簡單的java訪問共用檔案
來源:互聯網
上載者:User
訪問
一、所用開發工具:(1)、eclipse :httP://www.eclipse.org(2)、jcifs :http://jcifs.samba.org/
二、前言 :
在Microsoft 網 絡 系 統 中,SMB(Server Message Block, 服 務 信 息 塊) 協 議 是Windows for Workgroup(WfWg)、Windows 95、Windows NT 和LanManager 用 來 實 現 共 享 局 域 網 上 文 件 和 打 印 機 的 協 議。 對 於 利 用Linux 和Windows NT 構 建 的 局 域 網 來 說,Samba 就 是 為Linux 提 供 的SMB 客 戶 程 序/ 服 務 器 程 序 的 軟 件 包, 其 功 能 是 實 現Windows 和Linux 互 相 共 享 對 方 的 磁 盤 空 間 和 打 印 機。通用網路檔案系統簡稱CIFS,它事實上是windows平台檔案分享權限設定的標準協議,它是windows explorer,近端分享和映射網路磁碟機的底層實現協議。JAVA具有天然的平台無關性,使用JAVA可以訪問任何類型的伺服器或客戶機上的共用檔案系統,並且編寫的軟體產品可以運行於任何平台,因此用JAVA訪問共用檔案系統在公司專屬應用程式中具有得天獨厚的優勢。
JAVA中的CIFS實現
Jcifs是CIFS在JAVA中的一個實現,是samba組織本著linux的精神,負責維護開發的一個開源項目。這個項目專註於使用java語言對cifs協議的設計和實現。他們將jcifs設計成為一個完整的,豐富的,具有可擴充能力且安全執行緒的用戶端庫。這一庫可以應用於各種java虛擬機器訪問遵循CIFS/SMB網路傳輸協議的網路資源。類似於java.io.File的介面形式,在多線程的工作方式下被證明是有效而容易使用的。目前jcifs的最新版本是jcifs-1.1.9
三:配置:(1)、設定運行環境,將jcifs-1.1.9.jar添加到工程 工程----->屬性------->java builder path ------>庫--------->添加外部jar ok!(2)、在另外一台電腦上建立共用資料夾和共用檔案,本例中分別為:test ,response.txt(3)、編譯運行下面程式
四、代碼 :import jcifs.smb.SmbFileInputStream;public class ReadShareFile {
public static void main(String[] args) { byte buffer[] = new byte[1024] ; int readed = 0 ; try{ SmbFileInputStream in = new SmbFileInputStream ("smb://administrator:122122@192.168.0.22/test/response.txt") ; //建立smb檔案輸入資料流 while((readed = in.read(buffer)) != -1){ System.out.write(buffer); } }catch(Exception e){ e.printStackTrace(); } }}
五:代碼說明 :smb://administrator:122122@192.168.0.22/test/response.txtsmb: 協議名為smbadministrator:登入使用者名稱 註:為共用檔案機子的登入名稱122122:登入密碼 註:密碼和登入使用者名稱要以 “:”分割192.168.0.22:共用檔案機子的iptest:共用資料夾response.txt:共用檔案
特別說明:前言轉載於: 薛穀雨