Класс чтения из файла:
public class DataReader {
public static String getValue(String value) {
Properties props = new Properties();
try {
// создаем поток для чтения из файла
FileInputStream stream = new FileInputStream("userData.properties");
// загружаем свойства
props.load(stream);
} catch (FileNotFoundException e) {
System.out.println("File not found!");
e.printStackTrace();
} catch (IOException e) {
System.out.println("IO Error!");
e.printStackTrace();
}
String data = props.getProperty(value);
try {
data = new String(data.getBytes("ISO8859-1"), "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return data;
}
Обращаюсь к переменной из файла “userData.properties” через:
public static final String lastName = DataReader.getValue("lastName");
В итоге:
java.lang.ExceptionInInitializerError
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'byte[] java.lang.String.getBytes(java.lang.String)' on a null object reference
Тесты на Espresso для Android проекта, сборщик Gradle.
Такая же реализация в Intellij Idea с другим сборщиком работает отлично. Проблема таится в Gradle, как по мне. Очень надеюсь на помощь. Спасибо.