我一直在审查以下question,但仍然有些困惑。如何遍历文件,遍历每个文件的内容,仅将所有文件中的不同值添加到一个列表中? Should I use a set?
getSourceFiles
返回路径的LinkedHashMap,然后将其强制转换为File对象
public static void main(String[] args) throws IOException {
mapSwift = getSourceFiles(PATH_SWIFT, swiftFileName);
linkedHashSet = new LinkedHashSet();
mapSwift.forEach((k,v)-> {
File fileName = new File(v.toString());
try (Stream<String> stream = Files.lines(Paths.get(String.valueOf(fileName)))) {
list = stream
.filter(line -> line.startsWith(":97A::SAFE//"))
.map(String::toUpperCase)
.distinct()
.collect(Collectors.toList());
} catch (IOException e) {
e.printStackTrace();
}
linkedHashSet.add(list);
});
System.out.println("Done");
}
//public static LinkedHashMap<?, ?> getSourceFiles(Path dir, String strFilename)
预期产量
File A | File B | File C
Oranges Apples Bananas
Apples Apples Oranges
我希望所得的Array或Set仅具有来自所有文件的唯一值。在上面的示例中,结尾数据结构将仅包含3个元素,Oranges, Apples, Bananas