ini4j和libgdx,读写数据

时间:2013-10-21 01:20:23

标签: android file libgdx ini ini4j

您好我试图在我的游戏中保存用户保存的语言 我做了一个测试,看看脚本是否创建了文件并将其读好。

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

我没有文件,在第一次启动时,programm在本地目录中创建空文件,并用值(language = 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
    }

0 个答案:

没有答案