我正在尝试将一些数据保存到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);
}
这是我从同一个文件中读取的方式,但如果我运行它只是给出一个空按钮?
答案 0 :(得分:1)
您无法使用==
比较字符串,实际上您需要使用equals
或equalsIgnoreCase
方法。您还需要稍微调整一下您的阅读逻辑。更改您的代码如下:
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" />
答案 2 :(得分:0)
if(languege=="NL"){
newgame.setText(R.string.dutchgames);
stats.setText(R.string.duthstats);
}
如果条件阻止从文件读取字节。因为==匹配对象引用而不是它们的内容。