1

こんにちは、ゲームでユーザーが保存した言語を保存しようとしています。スクリプトがファイルを作成し、それを適切に読み取るかどうかをテストしました。

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
    }
4

0 に答える 0