2012-10-05 54 views
1

在我的應用程序中,我必須上傳文件,從Windows共享驅動器下載文件,其中Tomcat服務器的Java App服務器在Unix上運行環境。是否有任何Java API或任何Java開放源碼工具可以執行我的工作?上傳文件,從Windows共享驅動器下載文件,其中Java應用服務器在unix上運行

+0

也許_you_應該在第一時間完成你的工作。你可能想檢查[Apache Commons FileUpload](https://commons.apache.org/fileupload/),但是無論如何,文件上傳/下載已經被SO廣泛地覆蓋。 –

回答

3

你沒有提到你到目前爲止所嘗試過的。只是爲了幫助:

選項1:使用SAMBA在本地目錄上掛載共享文件夾「\ shared \」。 您將「\ shared \」加載到「/ mnt/myshared /」,然後從您的java應用程序上載或下載路徑「/ mnt/myshared/myfiles」中的文件(您需要編寫命令來通過ascript或手動,然後運行你的Java應用程序並訪問像本機目錄一樣的目錄。)

選項2:使用jCIFS。 jCIFS library可用於訪問Windows共享目錄。它的API與java.io中的File和FileI/OStream類相似,如果您更喜歡純Java方法。

以上是最優選的通用解決方案。 另外確保更新/ etc/hosts或任何特定的配置文件,以便共享目錄和服務器可以從unix訪問。

+0

我沒有嘗試使用上面提到的任何工具。我使用apache FileNameUtils將我的Windows路徑轉換爲Unix並嘗試過它。但是當後來我想到它時,如果我想要上傳文件我首先上傳到Unix服務器,在那裏我的應用服務器正在運行,然後到Windows共享。但我會嘗試以上的建議, – SRy

+0

當我與我的服務器管理員討論他們說他們無法安裝「SAMBA」,所以我需要遵循第二種方法 – SRy

+0

那麼,如果它是一個生產系統,那麼可能是SAMBA最有可能的,不被允許,我在一個生產項目中使用jCIFS(SAMBA只適用於內部集羣),並且它工作得很好,jCIFS網站提到,有大量的文章,示例代碼和用戶指南來實現你自己的定製I/O系統,我確實從那裏啓動了我自己的代碼:)另外,請google google jCIFS實現 – askmish

3

是的,看看CIFS

但是最好的辦法是共享驅動器安裝窗口的Unix

類似描述here

我會去的方式。

+0

優秀guide.Thanks。 – SRy

1

雖然JCIFS是好的,你實際上可能會發現,如果你能建築安裝Linux機器上通過Samba的Windows驅動器,然後用簡單的文件I/Java中O操作的讀/寫文件系統,它可能工作更好。

相關問題