2012-09-05 72 views
0

這在本質上有點模糊,但那是因爲我必須開始在這方面開展工作。通過linux中的java代碼從windows共享數據

我們計劃使用Windows共享驅動器。我們將自動從Windows共享(從運行在Linux上的Java代碼)中選擇這些文件並將其用於進一步處理。

  1. 從Linux的java代碼使用Windows共享有什麼已知的問題嗎?我們如何做到這一點?只有掛載文件系統的方式?
  2. 我們可以運行各種文件系統命令來列出文件(或移動/鎖定/刪除文件等)嗎?

在此先感謝。

回答

0

我已經使用jcifs處理在我的項目桑巴舞。有一個類jcifs.smb.SmbFile類似於java.io.File可以像處理本地文件一樣處理samba文件。像listFiles(),delete(),exists(),getInputStream(),createNewFile()等方法應該可以滿足您的需求。

這是一個低地文件演示,希望它可以幫助你。

SmbFileInputStream is = null; 
    FileOutputStream os = null; 
    // 
    String souFileUrl = "smb://" + user + ":" + password + "@" + server + "/" + souFileName; 

    SmbFile souSmbFile = new SmbFile(souFileUrl); 
    is = new SmbFileInputStream(souSmbFile); 
    File tempOutFile = new java.io.File(newfilename); 
    os = new FileOutputStream(tempOutFile); 
    byte[] bytes = new byte[1024]; 
    int c; 
    while ((c = is.read(bytes)) != -1) { 
     os.write(bytes, 0, c); 
    }