Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
集合是否有java.util.Properties的等价物?_Java_Collections_File Io - Fatal编程技术网

集合是否有java.util.Properties的等价物?

集合是否有java.util.Properties的等价物?,java,collections,file-io,Java,Collections,File Io,我想将文件中的行读入集合或列表。是否有一个标准的实用程序来执行此操作 如果这些行的形式为[key]=[value],我可以执行以下操作: Properties properties = new Properties(); properties.load(new FileInputStream(file)); 这些值是单个条目,每行一个,每个值都成为集合/列表中的一个条目 我知道它可以通过LineReader、InputStreams和大量样板文件来实现,但我希望避免这种情况。是的,类本身为转换

我想将文件中的行读入集合或列表。是否有一个标准的实用程序来执行此操作

如果这些行的形式为[key]=[value],我可以执行以下操作:

Properties properties = new Properties();
properties.load(new FileInputStream(file));
这些值是单个条目,每行一个,每个值都成为集合/列表中的一个条目

我知道它可以通过LineReader、InputStreams和大量样板文件来实现,但我希望避免这种情况。

是的,类本身为转换提供了访问器方法:

公共集入口集()

返回此映射中包含的映射的键集视图。集合由映射支持,因此对映射的更改将反映在集合中,反之亦然。如果在对集合进行迭代时修改映射(除了通过迭代器自己的删除操作,或者通过迭代器返回的映射项上的setValue操作),则迭代的结果是未定义的。该集合支持元素移除,即通过Iterator.remove、set.remove、removeAll、retainal和clear操作从映射中移除相应的映射。它不支持添加或添加所有操作

公共设置键集()

返回此映射中包含的键的键集视图。集合由映射支持,因此对映射的更改将反映在集合中,反之亦然。如果在对集合进行迭代时修改映射(通过迭代器自己的移除操作除外),则迭代的结果是未定义的。该集合支持元素移除,即通过Iterator.remove、set.remove、removeAll、retainal和clear操作从映射中移除相应的映射。它不支持添加或添加所有操作


或者,您可以使用元素()枚举属性。

如果按照标准实用程序,您指的是第三方库,那么我的答案是:几乎

apachecommons值得成为几乎所有Java应用程序的一部分。使用Apache Commons中的IOUtils,您可以通过执行以下操作来实现所描述的目标:

    final List list = IOUtils.readLines(new FileInputStream(file));
    Set<String> set = new HashSet<String>(list);
final List List=IOUtils.readLines(新文件输入流(file));
Set Set=新哈希集(列表);
集合将包含文件中的每一行


注意:IOUtils不支持泛型,因此此代码片段将给出编译警告。

谢谢,我假设它会失败,因为该值为null,它似乎使条目成为带有“=”后缀的键。在您的答案上有一条注释,看起来泛型被解释为html。编辑我上面的注释,值是空字符串,因此条目的toString()变成了[key]=“”不确定为什么被否决,对我来说似乎是一个合理的答案。这种方法的优点是,您有一个不受地图支持的集合。缺点是它不会忽略文件中的注释等,因此您需要自己处理它们或确保没有注释。