Я разрабатываю игру (одну из моих первых ^^), но столкнулся с проблемой импорта свойств. Ниже я опубликовал все относительные файлы и проблему, с которой я столкнулся - если кто-нибудь знает, куда я ушел, и кто я могу это исправить, я был бы очень благодарен :)Не удалось прочитать значения конфигурации в java (null возвращено не значение)
~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~ Вот мой основной класс (в настоящее время только для тестирования)
package game;
public class Main {
//Setup
static Settings settings = null;
public static void main(String args[]){
System.out.println("Main Started");
settings = new Settings();
String test = settings.getProperty("test");
String hello = settings.getProperty("hello");
System.out.println("Test: " + test);
System.out.println("Hello: " + hello);
}
}
~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Это класс настроек для загрузки настроек при вызове.
package game;
//Imports
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.IOException;
import java.util.Properties;
public class Settings {
Properties config = new Properties();
InputStream input = getClass().getClassLoader().getResourceAsStream("config.properties");
public Settings(){
System.out.println();
}
public String getProperty(String key){
String value = config.getProperty(key);
return value;
}
public int getValue(String key){
int value = Integer.parseInt(config.getProperty(key));
return value;
}
public void close(){
try {
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
Это файл свойств (.properties)
#Test Strings
test = "this is a test"
hello = "Hello, World."
#Resolution Settings
width = 800
height = 600
scale = 1
#Cars
speed = 1
cars = 1
~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~
Это консоль, где возвращается нуль
Main Started
Test: null
Hello: null
Спасибо за чтение !!! Я надеюсь, что вы можете помочь :)
Я не вижу, что вы устанавливаете переменную 'config' (кроме нового объекта' Properties'), но это предположительно, откуда вы получаете свойства. Возможно, поэтому они «нуль». – DaaaahWhoosh
Проверьте расположение файла config.properties. Надеюсь, вы уже положили это в нужное место и смогли прочитать файл. – pratikch