JBoss EAP 6.3.0应用程序将文件保存到工作文件夹

时间:2014-11-03 10:16:01

标签: jboss java-ee-6 java-6 jboss-eap-6

我正在编写一个将在CentOS 6.5上运行JBoss EAP 6.3.1的应用程序

在此应用程序中,我必须将文件保存到磁盘,当重新启动应用程序时,我必须将其读回应用程序。

这一切都有效。

问题是我想保存到应用程序工作目录中的文件。

现在发生的事情是文件: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();
    }
}

1 个答案:

答案 0 :(得分: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");

基本上在这里,我正在使用File变量创建一个yourSystemPath对象,我在其中存储了保存文件的路径,然后我使用以前创建new FileOutputStream(fileToSave)创建了对象File

请确保您的JBoss服务器具有yourSystemPath

的写入权限