0

我想将值保存为文件中双精度的 ArrayList。每当有新值时,都应将其添加到 ArrayList 中,而不会删除以前的值。我正在尝试使用函数DataStream。是否可以?如果可能的话,请让我知道如何实现它。

4

3 回答 3

0

XStream 是一个 Java 库,它支持以 xml 格式保存/发送对象。使用简单。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 回答
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 回答