如何在android上正确保存和检索文件

时间:2013-06-09 13:35:54

标签: android file-io

我正在尝试让我的程序将其当前状态保存在内部存储器中,以便我可以在下次加载时检索它。 但似乎我无法让它工作,我的应用程序一直在崩溃启动。

private File statoContatori = new File(getFilesDir(), "statoContatori");
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    inizializeCounters();
}

private void inizializeCounters() {
    Scanner in = null;
    try {
        in = new Scanner(statoContatori);
        while (in.hasNext())
        {
            String idContatore = in.next();
            String nomeContatore = in.next();
            String valore = in.next();
            if (idContatore.equals("contatore_1"))
            {
                initializeContatore(R.id.contatore_1_label, R.id.contatore_1, nomeContatore, valore);
            }
            else if (idContatore.equals("contatore_2"))
            {
                initializeContatore(R.id.contatore_2_label, R.id.contatore_2, nomeContatore, valore);
                    //There are a couple more IFs in here...
        }
    } catch (FileNotFoundException e) {
        creaFileStatoContatori();
    }
    finally {
        in.close();
    }
}

private void creaFileStatoContatori() {
    PrintWriter out = null;
    try {
        out = new PrintWriter(statoContatori);
        out.println("contatore_1\tcontatore_1\t0");
        out.println("contatore_2\tcontatore_2\t0");
        out.println("contatore_3\tcontatore_3\t0");
        out.println("contatore_4\tcontatore_4\t0");
        out.println("contatore_5\tcontatore_5\t0");
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
    finally {
        out.close();
    }
    inizializeCounters();
}

所以基本上我要做的是: 如果文件存在 - >加载文件 如果文件不存在 - >使用标准配置创建文件 - >加载文件 我做错了什么?

0 个答案:

没有答案