我可以在Web应用程序中找到保存的文件

时间:2012-04-19 14:02:42

标签: java web-applications servlets

我在localhost中有weblogic。我的Web应用程序保存了一些rdf:

String name = UUID.randomUUID().toString();
FileOutputStream fop = null;
try {
    fop = new FileOutputStream(name);
} catch (FileNotFoundException e) {

}
model.write(fop);

当我转到保存此文件的网址时,我收到此错误:

XML Parsing Error: no element found
Location: http://url/0260fcff-b53d-4d18-8fb0-fb31f6a6ff1a.rdf
Line Number 1, Column 1:

我可以在计算机上找到这个文件吗?

PS我尝试用java应用程序保存这个文件,它可以工作,所以rdf应该没问题。

2 个答案:

答案 0 :(得分:1)

  1. 在未指定路径的情况下保存文件时,文件将保存在调用JVM 的位置。对于Web应用程序,这通常是 bin文件夹。所以请检查一下该位置(例如对于tomcat,它将是{TOMCAT_HOME} / bin)

  2. 您在Web应用程序的根目录中访问文件的方式(http://url/0260fcff-b53d-4d18-8fb0-fb31f6a6ff1a.rdf)。 例如,如果您有基于tomcat的应用程序,请说myapp.war您的Web应用程序的根目录为{TOMCAT_HOME}/webapp/myapp

  3. 这是通过URL访问时找不到生成文件的原因。

  4. 要使其正常工作,请指定文件输入流的路径(绝对路径)(创建具有所需路径位置的File对象,在这种情况下,它将为{{1} })

答案 1 :(得分:0)

System.out.println(new File("."))会给你路径。但你应该避免相对路径。为您的应用程序配置绝对路径并使用它。

另请注意,您通常不会将文件存储在应用程序本身中。您将它们存储在一个单独的位置,并通过一个特殊的控制器将它们提供给客户端,该控制器读取它们并将它们重新流回。