Java 读取GAE类路径上的配置文件
我知道您无法从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
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与原问题中的位置相同。