我无法在应用程序中将int值写入文件。当我写入字符串文件时,它的表现很好。我使用ObjectOutputStream尝试了int值,但只有一些奇怪的符号(它们中的一些甚至不是一个)继续出现。所以我尝试使用DataOutputStream,但即使这样也行不通。 这里是我的代码片段:Android将int值写入文件
myExternalFile = new File(getExternalFilesDir(filepath), filename);
FileOutputStream fos = new FileOutputStream(myExternalFile,true);
DataOutputStream dos = new DataOutputStream(fos);
private boolean checkAnswer()
{
EditText edit = (EditText) findViewById(R.id.feditText);
String answer = edit.getText().toString();
if(answer.equals(""))
{
Toast.makeText(this, "Enter solution before moving on to next", Toast.LENGTH_SHORT).show();
return false;
}
try
{
int qno = f.getQno();
//ObjectOutputStream oos = new ObjectOutputStream(fos);
//oos.writeObject(new Integer(qno));
dos.writeInt(qno);
dos.writeBytes(answer);
dos.writeBytes(eol);//eol line separator already declared
dos.close();
}
catch (IOException e) {
e.printStackTrace();
}
return true;
}
所以一切都在上面的代码别人在做精...只有int类型是把一个fight..So谁能帮助我? 在此先感谢!
一个'int'被存储为一个4字节的值,而不是一个十进制表示。 –
我试着把它写成对象或字节......你能告诉我我在哪里试着用十进制表示来写它吗? – user2784307
这就对了,它听起来像是正常工作。你为什么认为有问题?如果您需要整数的字符串表示形式,只需将其转换为字符串即可。但那为什么要使用DataOutputStream? –