Java не видит места в строке [закрыто]
Итак, я пытаюсь разобрать текстовый файл, который имеет несколько строк текста. Моя работа состоит в том, чтобы просмотреть все слова и распечатать их в файле.
Итак, я читаю все строки, перебираю их и разбиваю каждую строку на пробелы, например:
line.split("\\s+");
Теперь проблема в том, что в некоторых случаях Java не видит пробела между двумя словами ...
Я также пытался перебрать строку, в которой есть пробел, но Java ее не видит, иCharacter.isSpaceChar(char)
вернул истину ...
И теперь я совершенно сбит с толку ...
Вот код:
public void createMap(String inputPath, String outputPath)
throws IOException {
File f = new File(inputPath);
FileWriter fw = new FileWriter(outputPath);
List<String> lines = Files.readAllLines(f.toPath(),
StandardCharsets.UTF_8);
for (String l : lines) {
for (String w : l.split("\\s+")) {
if (isNotRubbish(w.trim())) {
fw.write(w.trim() + "\n");
}
}
}
fw.close();
}
private boolean isNotRubbish(String w) {
Pattern p = Pattern.compile("@?\\p{L}+",
Pattern.UNICODE_CHARACTER_CLASS);
Matcher m = p.matcher(w);
return m.matches();
}