1

您好我试图在我的游戏中保存用户保存的语言我已经进行了测试以查看脚本是否创建了文件并很好地阅读它。

我使用 ini4j将语言的值存储在ini 文件中。

我没有文件,在第一次启动时,程序在本地目录中创建空文件并用值(语言=fr)填充它以进行测试。

在第二次启动时,程序检查文件是否存在,然后打开它以读取值

问题是“lang”变量在我的函数sic_Language.setLanguage(String text);读取时似乎为空。

我的代码

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