0

使用 xstream 的 XmlArrayList 和 FilePersistenceStrategy 如何控制输出 xml 文件的名称?

目前文件被命名为:int@0.xml

我需要用业务可以理解的文件命名它们/

链接:http: //x-stream.github.io/index.html

代码: PersistenceStrategy strategy = new FilePersistenceStrategy(new File("C:\workingTemp"));

List list = new XmlArrayList(strategy);

list.add(myObj)

谢谢

4

1 回答 1

0

我不确定这是否是最佳选择,但我认为它会起作用。

CustomeFilePersistenceStrategy通过扩展FilePersistenceStrategy和覆盖方法创建自定义策略类,getName如下所示:

public class CustomeFilePersistenceStrategy extends FilePersistenceStrategy {
     public CustomeFilePersistenceStrategy(File baseDirectory) {
      super(baseDirectory);
     }

    @Override
    protected String getName(final Object key){
        //put desired file naming logic
        return "CustomFile.xml";
    }
}

那么用法可能是:

 PersistenceStrategy strategy = 
               new CustomeFilePersistenceStrategy(new File("C:\workingTemp"));

 List list = new XmlArrayList(strategy);

应该CustomFile.xml在输出文件夹中生成。

于 2013-04-17T17:14:41.063 回答