写入文件android的问题

时间:2012-03-27 09:26:56

标签: android file input

我正在尝试将一些数据保存到android中的A文件中,我在这里用于android系统的内部存储。我查看了android的开发者指南,然后我就来了。

String FILENAME = "LangFile";
                String data ="NL";
                FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
                fos.write(data.getBytes());
                fos.close();

这是我将其保存到文件的方式。

String FILENAME = "LangFile";
        String languege = "lang";
        FileInputStream fos = openFileInput(FILENAME);
        fos.read(languege.getBytes());
        fos.close();
        if(languege=="NL"){
            newgame.setText(R.string.dutchgames);
            stats.setText(R.string.duthstats);
        }

这是我从同一个文件中读取的方式,但如果我运行它只是给出一个空按钮?

3 个答案:

答案 0 :(得分:1)

您无法使用==比较字符串,实际上您需要使用equalsequalsIgnoreCase方法。您还需要稍微调整一下您的阅读逻辑。更改您的代码如下:

FileInputStream fos = openFileInput(FILENAME);
byte[] b = new byte[2]; //since lang-prefix should have at least length 2
fos.read(b);
fos.close();

if(new String(b).equalsIgnoreCase("NZ")){
     newgame.setText(R.string.dutchgames);
     stats.setText(R.string.duthstats);
}

答案 1 :(得分:0)

你是否添加了写内部存储的权限?

  <uses-permission 
    android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
在manifest.xml文件中

答案 2 :(得分:0)

if(languege=="NL"){
            newgame.setText(R.string.dutchgames);
            stats.setText(R.string.duthstats);
        }

如果条件阻止从文件读取字节。因为==匹配对象引用而不是它们的内容。