OK.Пример того, как написать это как HTML-файл с использованием таблицы.Ввод - это карта с именами файлов в качестве ключа и карта слов с количеством.Сначала выглядит, какие слова упоминаются на картах.Затем он пишет HTML.Первая строка таблицы содержит все эти слова, после этого для каждого имени файла создается строка с количеством слов.
public static void main(String a[]) {
Map<String, Map<String, Integer>> wordMaps = new HashMap<>();
wordMaps.put("Hamletas.txt", new HashMap<String, Integer>());
wordMaps.get("Hamletas.txt").put("hamletui", 4);
wordMaps.get("Hamletas.txt").put("šmėkla", 2);
wordMaps.get("Hamletas.txt").put("jo", 2);
wordMaps.put("Other_file.txt", new HashMap<String, Integer>());
wordMaps.get("Other_file.txt").put("jo", 6);
wordMaps.get("Other_file.txt").put("hamletas", 3);
wordMaps.get("Other_file.txt").put("danijos", 4);
wordMaps.get("Other_file.txt").put("pagrindiniam", 1);
writeHtmlFile("example.html", wordMaps);
}
public static void writeHtmlFile(String filename, Map<String, Map<String, Integer>> wordMaps) {
// get all words that are duplicates
Set<String> words = new HashSet<>();
for (Map<String, Integer> map : wordMaps.values()) {
for (Map.Entry<String, Integer> entry : map.entrySet()) {
if (entry.getValue() > 1) {
words.add(entry.getKey());
}
}
}
try (PrintWriter out = new PrintWriter(new FileWriter(filename))) {
out.println("<!DOCTYPE html><html>");
out.println("<head><meta charset=\"utf-8\"/></head");
out.println("<body>");
out.println("<table border=\"1\">");
// write Headline
out.println("<tr>");
out.println("<td> </td>"); // empty cell
for (String word : words) {
out.println("<td>" + word + "</td>"); // empty cell
}
out.println("</tr>");
// write for all files
for (Map.Entry<String, Map<String, Integer>> fileWordMap : wordMaps.entrySet()) {
out.println("<tr>");
out.println("<td>" + fileWordMap.getKey() + "</td>"); // filename
Map<String, Integer> wordMap = fileWordMap.getValue();
for (String word : words) {
out.println("<td align=\"right\">" + (wordMap.containsKey(word) ? wordMap.get(word) : 0) + "</td>"); // number per
// word or 0
}
out.println("</tr>");
}
out.println("</table>");
out.println("</body>");
out.println("</html>");
} catch (IOException e) {
}
}