2013-11-02 37 views
0

我已在论坛上搜索了一段时间,但无法找到我的问题。我看到很多关于如何将字符串数组写入内部存储器的示例,但不知道如何再次读取它们。从内部存储器读取字符串数组

我有一个被保存在一个字符串数组:

String FILENAME = "data1"; 
fos = openFileOutput(FILENAME, Context.MODE_APPEND); 
for(int j=1;j<=PupilAmount;j++) { 
    fos.write(pup[j].getBytes()); 
} 
fos.close(); 

但我怎么再次读取变量,并将其保存在一个新的变量在我的新的活动?

回答

2

字符串数组是可序列化的。所以,你可以把它序列化上的一个文件

FileOutputStream fout = openFileOutput(FILENAME, Context.MODE_APPEND); 
ObjectOutputStream oos = new ObjectOutputStream(fout); 
oos.writeObject(pup); 
oos.close(); 

和回读这样:

FileInputStream fin = openFileInput(FILENAME, Context.MODE_APPEND); 
ObjectInputStream ois = new ObjectInputStream(fin); 
String[] pup = (String[]) ois.readObject(); 
ois.close() 
+0

哇。这听起来很简单。该文件是否能够以这种方式包含多个对象呢? – BeHaa

+0

是的,也是复杂的对象,但这些对象必须实现可序列化的接口,否则它们不能写 – Blackbelt

相关问题