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