Androidでファイルの読み書きを行いたいのですが、配列変数を扱いたいため、Serializableを利用したいと考えています。
しかし下記のコードを実行するとlogで「c」の所まで出力されるのですがそこでエラーを出して止まってしまいます。
Androidが絡むと類似例が見つからないのでどうすればいいのか分からず困っています。
どなたかお助けください。
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import android.content.Context;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
public class TextAdapter extends BaseAdapter {
private Context context;
private String[] strings;
private String[] room;
public TextAdapter(Context context) {
Log.e("DEBUG", "a");
Sch sch = null;
this.context = context;
strings = new String[49];
room = new String[36];
ObjectInputStream in = null;
Log.e("DEBUG", "b");
ObjectOutputStream out = null;
try {
Log.e("DEBUG", "c");
out = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream("SaveData.dat")));
Log.e("DEBUG", "d");
out.writeObject(sch);
out.flush();
} catch (Exception e) {
Log.d("FILE_OUTPUT", "Error");
}finally {
if (out != null) {
try {
out.close();
}catch (IOException e) {}
}
}
try {
in = new ObjectInputStream(new BufferedInputStream(new FileInputStream("SaveData.dat")));
Log.e("DEBUG", "e");
sch = (Sch)in.readObject();
Log.e("DEBUG", "f");
in.close();
Log.e("DEBUG", "g");
} catch (Exception e) {
Log.d("FILE_INPUT", "Error");
}