2014-11-03 68 views
3

我寫這將JBoss的EAP 6.3.1內上一個CentOS 6.5的JBoss EAP 6.3.0應用保存文件的工作文件夾

運行在這個應用程序,我必須將文件保存到磁盤,當一個應用程序重新啓動應用程序,我必須將它讀迴應用程序。

所有這些工作。

問題是我想保存到應用程序的工作目錄中的文件。

現在發生的事情是,文件:foo.bar將保存在我運行standalone.sh(或Windows上的.bat)的位置。

public void saveToFile() throws IOException { 
    String foo = "bar"; 

    Writer out = new OutputStreamWriter(new FileOutputStream("/foo.bar"), "UTF-8"); 
    try { 
     out.write(foo); 
    } finally { 
     out.close(); 
    } 
} 

回答

2

您可以嘗試使用絕對路徑保存文件:

String yourSystemPath = System.getProperty("jboss.home.url") /*OPTIONAL*/ + "/want/to/save/here"; 
File fileToSave = new File(yourSystemPath,"foo.bar"); 
Writer out = new OutputStreamWriter(new FileOutputStream(fileToSave), "UTF-8"); 

基本上在這裏,我創建使用yourSystemPath變量,其中我保存到文件保存的路徑File對象在,那麼我使用以前創建的對象File

請確保您的JBoss服務器具有寫權限yourSystemPath

創建
+0

如果我想將文件保存在固定的位置,這將確實是解決方案。我更想解決在應用程序運行的工作目錄中寫入。 – TheMiXeD 2014-11-03 11:02:46

+0

那麼,「我想保存到應用程序的工作目錄中的文件」是什麼意思?並不總是相同的道路? – Cirou 2014-11-03 11:06:00

+0

部署在JBoss服務器上的每個應用程序都獲得它自己的工作目錄。當我將4次部署相同的應用程序時,應該有4個工作目錄用於每個應用程序。應用程序必須保持JBoss的界限 – TheMiXeD 2014-11-03 11:11:05