こんにちは、ゲームでユーザーが保存した言語を保存しようとしています。スクリプトがファイルを作成し、それを適切に読み取るかどうかをテストしました。
ini4jを使用して、language の値をini ファイルに保存しています。
ファイルがありません。最初の起動時に、ローカル ディレクトリに空のファイルを作成し、テスト用に値 (language=fr) を入力します。
2回目の起動時に、プログラムはファイルが存在するかどうかを確認し、それを開いて値を読み取ります
問題は、関数sic_Language.setLanguage(String text);で読み取ったときに「lang」変数が空のように見えることです。
私のコード
String lang;
Wini ini;
//Read
if (Gdx.files.local("mygame.ini").exists()) {
//Open file
try {
ini = new Wini(Gdx.files.local("mygame.ini").file());
} catch (InvalidFileFormatException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
//Read values
lang = ini.get("interface", "language");
sic_Language.setLanguage(lang); //Set language
}
//Write
else {
//Create file
try {
Gdx.files.local("mygame.ini").file().createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
//Open file
try {
ini = new Wini(Gdx.files.local("mygame.ini").file());
} catch (InvalidFileFormatException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
//Write values
ini.put("interface", "language", "fr");
try {
ini.store();
} catch (IOException e) {
e.printStackTrace();
}
sic_Language.setLanguage("fr"); //Set language
}