【发布时间】:2014-08-05 09:19:15
【问题描述】:
我正在尝试为我的 GUI 保存/加载设置。
到目前为止,我已经使用属性进行了保存:
Properties prop = new Properties();
prop.setProperty("a", Boolean.valueOf(boxRandomMouse.isSelected()).toString());
prop.setProperty("b", listModelPath.toString());
我遇到的问题是,我将 listModelPath 中的 JList 保存到 String 中:
public static DefaultListModel<String> listModelPath;
在我的属性b 下的文件中。我找不到任何方法来加载并将这个listModelPath 解析为我想要的类型,即Position。
类,Position,可以用下面的构造器初始化:
Position newPos = new Position(int x, int y, int z);
或者对于数组:
public Position[] toTown = new Position[] {
new Position(3094, 3491, 0), new Position(3088, 3487, 0),
new Position(3080, 3475, 0)};
这是listModelPath 的String 保存到文件后的样子
c=[[x\=3094, y\=3491, z\=0], [x\=3092, y\=3491, z\=0], [x\=3090, y\=3491, z\=0], [x\=3088, y\=3490, z\=0], [x\=3086, y\=3488, z\=0], [x\=3084, y\=3486, z\=0], [x\=3082, y\=3484, z\=0], [x\=3081, y\=3482, z\=0], [x\=3080, y\=3481, z\=0], [x\=3080, y\=3479, z\=0], [x\=3080, y\=3477, z\=0], [x\=2045, y\=5194, z\=0], [x\=2044, y\=5192, z\=0], [x\=2042, y\=5190, z\=0], [x\=2041, y\=5189, z\=0]]
我需要想办法将上面的字符串解析到我的位置,或者以某种方式找到将这个数组保存到文件的方法,我真的不知道该怎么做。
我已经尝试过以不同的方式多次这样做,但总是失败,所以这就是我在这里的原因。 希望你们知道如何处理我在这里遇到的情况。
附言。我刚刚开始阅读有关序列化的内容,也许这是要走的路?它是否允许我将我在应用程序中动态创建的数组保存在文件中,而无需将其转换为字符串并从字符串返回?
【问题讨论】:
标签: java serialization deserialization objectoutputstream