Java 将对象附加到android中的现有文件
我已将一个对象附加到现有文件中,但我无法读取它,我可以读取第一个对象,这是我的代码 有什么问题吗Java 将对象附加到android中的现有文件,java,android,Java,Android,我已将一个对象附加到现有文件中,但我无法读取它,我可以读取第一个对象,这是我的代码 有什么问题吗 try{ FileOutputStream fos = openFileOutput("f.txt",MODE_PRIVATE | MODE_APPEND ); ObjectOutputStream oos = new ObjectOutputStream(fos); String a=new String ("Hello object1 ");
try{
FileOutputStream fos = openFileOutput("f.txt",MODE_PRIVATE | MODE_APPEND );
ObjectOutputStream oos = new ObjectOutputStream(fos);
String a=new String ("Hello object1 ");
String b=new String("Hello object2 ");
String c=new String("Hello object3 ");
oos.writeObject(a);
oos.writeObject(b);
oos.writeObject(c);
oos.close();
// Reading it back..
FileInputStream fis = openFileInput("f.txt");
ObjectInputStream ois = new ObjectInputStream(fis);
//ois=new ObjectInputStream(fis);
// r=(String)ois.readObject();
String r;
while ((r= (String)ois.readObject()) != null) {
Log.i("while Read r",r);
Toast.makeText(getApplicationContext(),r, Toast.LENGTH_SHORT).show();
}
ois.close();
}catch (Exception e){
Log.i("Exception",e.getMessage());
}
我希望你能帮助我!!谢谢。代码似乎正确,只是在“While”中做了一些修改,请检查以下内容:
try{
FileOutputStream fos = openFileOutput("f.txt",MODE_PRIVATE | MODE_APPEND );
ObjectOutputStream oos = new ObjectOutputStream(fos);
String a=new String ("Hello object1 ");
String b=new String("Hello object2 ");
String c=new String("Hello object3 ");
oos.writeObject(a);
oos.writeObject(b);
oos.writeObject(c);
oos.close();
// Reading it back..
FileInputStream fis = openFileInput("f.txt");
ObjectInputStream ois = new ObjectInputStream(fis);
//ois=new ObjectInputStream(fis);
// r=(String)ois.readObject();
String r;
while (fis.available() > 0) {
r= (String)ois.readObject();
Log.i("while Read r",r);
Toast.makeText(getApplicationContext(),r, Toast.LENGTH_SHORT).show();
}
ois.close();
}catch (Exception e){
Log.i("Exception",e.getMessage());
}
代码似乎正确,只是在“While”中进行了一些修改,请检查以下内容:
try{
FileOutputStream fos = openFileOutput("f.txt",MODE_PRIVATE | MODE_APPEND );
ObjectOutputStream oos = new ObjectOutputStream(fos);
String a=new String ("Hello object1 ");
String b=new String("Hello object2 ");
String c=new String("Hello object3 ");
oos.writeObject(a);
oos.writeObject(b);
oos.writeObject(c);
oos.close();
// Reading it back..
FileInputStream fis = openFileInput("f.txt");
ObjectInputStream ois = new ObjectInputStream(fis);
//ois=new ObjectInputStream(fis);
// r=(String)ois.readObject();
String r;
while (fis.available() > 0) {
r= (String)ois.readObject();
Log.i("while Read r",r);
Toast.makeText(getApplicationContext(),r, Toast.LENGTH_SHORT).show();
}
ois.close();
}catch (Exception e){
Log.i("Exception",e.getMessage());
}
您是否收到错误,或者只是没有读取多个对象?对不起??我可以读取上面三个对象,但我收到一个错误,如果我添加第四个对象,我也无法读取它。您收到了什么错误?05-02 22:56:26.852:error/AndroidRuntime(4714):java.lang.RuntimeException:无法启动activity ComponentInfo{moh.com/moh.com.storge}:java.lang.NullPointerException:println需要一条消息05-02 22:56:26.852:ERROR/AndroidRuntime(4714):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1622)第一次运行时查看上面的代码,我可以读取保存的所有对象,然后程序崩溃,如果再次运行并保存新对象,则无法读取在第二次运行中保存的最后一个对象。如果我把你搞糊涂了,我很抱歉,你是收到了一个错误,还是只是没有读取多个对象?我很抱歉??我可以读取上面三个对象,但我收到一个错误,如果我添加第四个对象,我也无法读取它。您收到了什么错误?05-02 22:56:26.852:error/AndroidRuntime(4714):java.lang.RuntimeException:无法启动activity ComponentInfo{moh.com/moh.com.storge}:java.lang.NullPointerException:println需要一条消息05-02 22:56:26.852:ERROR/AndroidRuntime(4714):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1622)第一次运行时查看上面的代码,我可以读取保存的所有对象,然后程序崩溃,如果再次运行并保存新对象,则无法读取在第二次运行中保存的最后一个对象。对不起,我把你弄糊涂了