0

値を double の ArrayList としてファイルに保存したい。新しい値がある場合は常に、以前の値を消去せずに ArrayList に追加する必要があります。関数DataStreamを使用しようとしています。出来ますか?可能であれば、それを実装する方法を教えてください。

4

3 に答える 3

0

以下のコードを参照してください。

    private static String LFILE = "serial";

public static void updateFile(Double num) {

    FileOutputStream fos = null;
    ObjectOutputStream oos = null;

    try{
        List<Double> list = getDoubles();
        list.add(num);
        fos = new FileOutputStream(LFILE);
        oos = new ObjectOutputStream(fos);
        oos.writeObject(list);

    }catch(Exception e){
        e.printStackTrace();
        try {
            oos.close();
            fos.close();
        } catch (IOException e1) {
            e1.printStackTrace();
        }

    }

}

public static List<Double> getDoubles() {

    FileInputStream fis = null;
    ObjectInputStream ois = null;
    List<Double> newList = new ArrayList<Double>();
    try {
        fis = new FileInputStream(LFILE);
        ois = new ObjectInputStream(fis);

        newList = (ArrayList<Double>) ois.readObject();

    } catch (Exception ex) {

        try {
            fis.close();
            ois.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    return newList;
}
于 2012-06-18T12:14:35.550 に答える
0

XStream は、xml 形式でのオブジェクトの保存/送信をサポートする Java 用のライブラリです。使い方は簡単です。XML は人間が判読できるので、その正確さを簡単に確認したり変更したりできます。

于 2012-06-18T11:33:11.057 に答える
0

使用するクラスは、ObjectOutputStream と ObjectInputStream です。

http://www.javadb.com/writing-objects-to-file-with-objectoutputstream

http://www.javadb.com/reading-objects-from-file-using-objectinputstream

于 2012-06-18T11:41:01.947 に答える