在Android中保存int / byte / string数据类型
对不起,这可能是一个相当长的问题,但我如何在Android中实际保存int / byte / string数据类型?
我知道要将字符串保存到内存中(请注意,不是外部或其他任何东西),我必须这样做:
字符串FILENAME =“hello_file”;
String string =“hello world!”;
FileOutputStream fos = openFileOutput(FILENAME,Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();
保存文件,并:
int saveTest = fos.read();
fos.close();
从另一个活动或其他东西中读取文件。 (它是否正确?)
但是如果我想保存并以int / byte数据文件的形式读取文件呢? 这可能吗? 我将如何能够做到这一点?
为了保存你的对象,你可以使用ObjectOutput类来序列化它们,例如:
// Example object which implements Serializable
Example example = new Example();
// Save an object
ObjectOutput out = new ObjectOutputStream(new FileOutputStream(new File(getCacheDir(),"")+"cacheFile.srl"));
out.writeObject( new Integer( YOUR_INT ) );
out.close();
// Load in an object
ObjectInputStream in = new ObjectInputStream(new FileInputStream(new File(new File(getCacheDir(),"")+"cacheFile.srl")));
Integer example_loaded = (Integer) in.readObject();
in.close();
类示例可以是实现可序列化或字节数据的任何对象,javadoc也可能有帮助!
希望这可以帮助!
如果你想读取对象,那么你会从你得到的FileInputStream
创建一个ObjectInputStream
。 如果你想以二进制读取文件,那么你可以使用与byte[]
一起工作的read
成员函数。