我有一个包含5个文本文件的文件夹,我需要将这些文本文件中的内容存储到它们自己的5个单独的哈希表中。我有它的工作方式,但非常混乱。
文本文件通过键0和值1并排正确放置
只是想知道这样做的最佳方法,将不胜感激
下面是我的代码,但对于5个不同的文本文件来说就像这样……很大
if (q.equals("ModelEnglish.txt")) {
ArrayList<String> EnglishReadModelFile = readModelFile(q);
ArrayList<String> ReadTri = new ArrayList<>();
ArrayList<Double> Percentage = new ArrayList<>();
for (int i = 0; i < EnglishReadModelFile.size() - 1; i++) {
ReadTri.add(EnglishReadModelFile.get(i).split(" ")[0]);
Percentage.add(Double.parseDouble
(EnglishReadModelFile.get(i).split(" ")[1]));
EnglishHash.put(ReadTri.get(i), Percentage.get(i));
}
使用流API进行操作:
Map<String, String> map = Stream.of(new File(dir).listFiles()) // stream all files
.filter(file -> !file.isDirectory()) // filter directories
.collect(Collectors.toMap(file -> file.getName(), file -> { // key is file name
try {return String.join("\n", Files.readAllLines(file.toPath())); } // value is contents
catch (IOException e) { return ""; }
}));