我在應用引擎上的文件爲/WEB-INF/config.txt
。應用程序引擎上的文件的路徑是什麼?如何在App Engine中讀取文件?
如:new File(/*What path do i put here?*/)
我在應用引擎上的文件爲/WEB-INF/config.txt
。應用程序引擎上的文件的路徑是什麼?如何在App Engine中讀取文件?
如:new File(/*What path do i put here?*/)
這爲我工作:
servletContext.getResourceAsStream("/WEB-INF/config.txt")
如果這是你的應用程序,並在類路徑中的一部分,你應該能夠使用this.getClass加載它()的getResource()。
我試過了,我會傳入什麼參數到getResource? – Kyle 2011-05-17 17:28:04
有在AppEngine上how to add resources to your project一些文檔。查看<資源文件>部分。一些進一步的信息可以在the description of the appengine sandbox中讀取。
當資源被添加到您的項目,您可以使用下面的代碼來讀取其內容:
File f = new File("path/below/my/project/directory/config.txt");
InputStream in = new FileInputStream(f);
在上面的例子中「路徑」目錄下面是你的項目的「戰爭」的目錄。
我發現這是搶在字符串整個文件的好方法:
import java.net.URL;
import java.io.File;
import java.io.FileInputStream;
import com.google.common.io.CharStreams;
URL resource = getServletContext().getResource("/WEB-INF/config.txt");
File file = new File(resource.toURI());
FileInputStream input = new FileInputStream(file);
String myString = CharStreams.toString(new InputStreamReader(input, "UTF-8"));
對我來說,我沒有獲得的ServletContext - getServletContext()方法:
這工作對我來說:
InputStream inputStream = new FileInputStream(new File("WEB-INF/config.txt"));
這也適用於我。有一點需要強調的是,如果你這樣做,你不要在「WEB-INF/config.txt」中的「WEB-INF」之前加一個「/」。 – CKP78 2016-11-01 10:43:14
在我的理解文件不允許在AppEngine。您必須將它們聲明爲靜態文件並通過URL訪問它們。 http://blabla.appspot.com/YOURFILE.txt – 2011-05-17 17:52:57
文件可以被讀取,而不是寫入。 – Kyle 2011-05-17 18:06:46