【发布时间】:2012-06-25 12:14:21
【问题描述】:
我已经搜索了很多,但无法做到这一点。我创建了一个类“VectorEx”,扩展了“Vector”,用于存储两种方法,一种用于保存向量,另一种用于加载它。我知道我必须使用 FileOutputStream 和 openFileInput() 但我无法创建文件。我对 android 编程还是很陌生,因此感谢您提供简单的解释。
public class VectorEx extends Vector<Subject> {
public void save(String name, Context ctx) {
try {
File file = new File(name);
if(!file.exists()) {
file.createNewFile();
}
FileOutputStream fos = ctx.openFileOutput(name, Context.MODE_PRIVATE);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(this);
oos.close();
}
catch(IOException e) {
e.printStackTrace();
}
}
public void load(String name, Context ctx) {
try {
FileInputStream fis = ctx.openFileInput(name);
ObjectInputStream ois = new ObjectInputStream(fis);
ois.readObject();
}
catch(IOException e) {
e.printStackTrace();
}
catch(ClassNotFoundException e) {
e.printStackTrace();
}
}
}
这是我上次尝试使用的代码。从我对 LogCat 的理解来看,这似乎是一个“只读文件系统”。
【问题讨论】:
-
您是否正在测试作为大容量存储设备连接到 PC 的设备上的代码,因此无法访问 SD 卡?无论如何,本指南应该提供您所需要的:developer.android.com/guide/topics/data/data-storage.html
-
叫什么名字?..你能告诉我们吗?
-
我已经看过 Android Developer's Site 很多次了,但我仍然不知道我哪里出错了。一些代码会很有帮助。
-
名字是什么?在这里打印
-
我在调用方法时发送的“名称”变量。我想不出一种方法来使用调用该方法的对象的名称为保存文件提供唯一名称,因此我添加了一个“字符串”参数以传递给用于制作文件名的方法。