繁体   English   中英

在属性中存储列表的规范方式

[英]Canonical way to store lists in properties

我有一个Map<String, Set<String>> object 由类别和映射到它们的标签集填充,例如。 <"disease", Stream.of("nn", "nnp", "nns", "nnps)> 。我想将其移动到属性文件中,其中键(类别)将 map 转换为集合(值)。然后将在安装期间加载,而不是在代码库中进行硬编码。

一个明显的解决方案是在一行中放置一个类别,然后用逗号分隔 POS 标签。 但是,这个解决方案似乎很不优雅; 有更好的方法吗?

另一种方法。 查看此处创建的名为 objects.xml 的文件,您可以手写该文件:

import java.util.*;
import java.io.*;
import java.beans.XMLEncoder;

public class MapSet {
    public static void main(String[] args) {
        try {
            Map<String, Set<String>> objects;
            objects = new HashMap<>();
            objects.put("disease", new HashSet<String>(Set.of("nn", "nnp", "nns", "nnps")));
            try(XMLEncoder enc = new XMLEncoder(new FileOutputStream("objects.xml"))) {
                enc.writeObject(objects);
            }
        }
        catch(Throwable t) {
            t.printStackTrace();
        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM