Как я могу прочитать файл в App Engine? У меня есть файл в /WEB-INF/config.txt в приложении. Каков путь к файлу в приложении? например: new File(/*What path do i put here?*/) Ответ 1 Это сработало для меня: servletContext.getResourceAsStream("/WEB-INF/config.txt") Ответ 2 Там есть документация по appengine как добавить ресурсы в ваш проект. Проверьте часть < resource-files > . Некоторая дополнительная информация может быть прочитана в описании песочницы appengine. Когда ресурсы добавляются в ваш проект, вы можете использовать следующий код для чтения своего контента: File f = new File("path/below/my/project/directory/config.txt"); InputStream in = new FileInputStream(f); В приведенном выше примере каталог "путь" находится ниже вашего проекта "war". Ответ 3 В моем случае у меня не было доступа к ServletContext - getServletContext(): Это сработало для меня: InputStream inputStream = new FileInputStream(new File("WEB-INF/config.txt")); Ответ 4 Я нашел, что это хороший способ захватить весь файл в String: 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")); Ответ 5 Если это часть вашего приложения и путь к классам, вы можете загрузить его с помощью this.getClass(). getResource().
Ответ 2 Там есть документация по appengine как добавить ресурсы в ваш проект. Проверьте часть < resource-files > . Некоторая дополнительная информация может быть прочитана в описании песочницы appengine. Когда ресурсы добавляются в ваш проект, вы можете использовать следующий код для чтения своего контента: File f = new File("path/below/my/project/directory/config.txt"); InputStream in = new FileInputStream(f); В приведенном выше примере каталог "путь" находится ниже вашего проекта "war".
Ответ 3 В моем случае у меня не было доступа к ServletContext - getServletContext(): Это сработало для меня: InputStream inputStream = new FileInputStream(new File("WEB-INF/config.txt"));
Ответ 4 Я нашел, что это хороший способ захватить весь файл в String: 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"));
Ответ 5 Если это часть вашего приложения и путь к классам, вы можете загрузить его с помощью this.getClass(). getResource().