Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 读取GAE类路径上的配置文件_Java_Google App Engine_Io_Filesystems - Fatal编程技术网

Java 读取GAE类路径上的配置文件

Java 读取GAE类路径上的配置文件,java,google-app-engine,io,filesystems,Java,Google App Engine,Io,Filesystems,我知道您无法从GAE应用程序访问java.io.File(受限制)。然而,我记得在某个地方读到过这样一篇文章:你可以访问战争中的任何东西(可能是WEB-INF/?)下的任何东西) 所以我问:有没有办法从GAE应用程序访问WAR中的文件?换句话说,如果我部署具有以下结构的WAR: MyApp/ WEB-INF/ web.xml appengine-web.xml ...etc. my-special-config.xml

我知道您无法从GAE应用程序访问
java.io.File
(受限制)。然而,我记得在某个地方读到过这样一篇文章:你可以访问战争中的任何东西(可能是
WEB-INF/
?)下的任何东西)

所以我问:有没有办法从GAE应用程序访问WAR中的文件?换句话说,如果我部署具有以下结构的WAR:

MyApp/
    WEB-INF/
        web.xml
        appengine-web.xml
        ...etc.

        my-special-config.xml

我有没有办法从我的GAE应用程序中读取我的特殊配置.xml?如果是,如何以及与哪些课程?我在GAE SDK中看到一个
AppEngineFile
,不知道我是否可以使用这个。提前感谢。

您似乎可以只使用如下文件类:

    String FileName = "my-special-config.xml";
    File file = new File(FileName);
    BufferedReader bufferedReader = new BufferedReader(new FileReader(file));

请参阅。

似乎您可以只使用如下文件类:

    String FileName = "my-special-config.xml";
    File file = new File(FileName);
    BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
请参阅。

查看开发指南:

文件系统 Java应用程序不能使用任何用于写入文件系统的类,例如Java.io.FileWriter。应用程序可以使用java.io.FileReader之类的类从文件系统读取自己的文件。应用程序还可以作为“资源”访问自己的文件,例如使用或

只有被认为是“资源文件”的文件才能通过文件系统被应用程序访问。默认情况下,WAR中的所有文件都是“资源文件”。您可以使用该文件从该集中排除文件

读取POJO类中类路径下的资源文件的示例代码:

String file = "/WEB-INF/my-special-config.xml";
InputStream in = getClass().getResourceAsStream(file);
用于读取Servlet类中类路径下的资源文件的示例代码:

String file = "/WEB-INF/my-special-config.xml";
InputStream in = getServletContext().getResourceAsStream(file);
查看开发指南:

文件系统 Java应用程序不能使用任何用于写入文件系统的类,例如Java.io.FileWriter。应用程序可以使用java.io.FileReader之类的类从文件系统读取自己的文件。应用程序还可以作为“资源”访问自己的文件,例如使用或

只有被认为是“资源文件”的文件才能通过文件系统被应用程序访问。默认情况下,WAR中的所有文件都是“资源文件”。您可以使用该文件从该集中排除文件

读取POJO类中类路径下的资源文件的示例代码:

String file = "/WEB-INF/my-special-config.xml";
InputStream in = getClass().getResourceAsStream(file);
用于读取Servlet类中类路径下的资源文件的示例代码:

String file = "/WEB-INF/my-special-config.xml";
InputStream in = getServletContext().getResourceAsStream(file);

该文件应位于何处?@kilaka与原问题中的位置相同。该文件应位于何处?@kilaka与原问题中的位置相同。