Exception in thread “main” java.lang.NullPointerException

279
10 июля 2017, 15:49

Первий цикл проверяет каждую строку из файла и если там есть руские символи то вставляет их в Map, а второй должен заменить символи в файле которие присутствуют в Map на другой текст.

public class MainClass {
    private static Path FILE_PATH = Paths.get("text.txt");
    public static void main(String[] args) throws IOException {
        Map<Integer, Map<Integer, String>> mapFile = new HashMap<>();
        List<String> fileContent = new ArrayList<>(Files.readAllLines(FILE_PATH, StandardCharsets.UTF_8));
        for (int i = 0; i < fileContent.size(); i++) {
            Map<Integer, String> mapLine = new HashMap<>();
            Pattern p = Pattern.compile("[а-яА-Я]+");
            Matcher m = p.matcher(fileContent.get(i));
            while(m.find()) {
                String cutText = fileContent.get(i).substring(m.start(), m.end());
                int keyMap = fileContent.get(i).indexOf(cutText);
                String valueMap = cutText;
                mapLine.put(keyMap, valueMap);
            }
            mapFile.put((i + 1), mapLine);
        }
        for (int i = 0; i < fileContent.size(); i++) {
            String oldLine = fileContent.get(i);
            Pattern p = Pattern.compile("[а-яА-Я]+");
            Matcher m = p.matcher(oldLine);
            while(m.find()) {
                String word = oldLine.substring(m.start(), m.end());
                int indexWord = fileContent.get(i).indexOf(word);
                if (indexWord != 0) {
                    String newLine = oldLine.replaceAll(mapFile.get(i+1).get(indexWord), "++++++");
                    System.out.println("oldLine = " + oldLine);
                    fileContent.set(i, newLine);
                }
            }
        }
        System.out.println("mapFile : " + mapFile);
        Files.write(FILE_PATH, fileContent, StandardCharsets.UTF_8);
    }
}

Ошибка:

Exception in thread "main" java.lang.NullPointerException
    at java.util.regex.Pattern.<init>(Pattern.java:1350)
    at java.util.regex.Pattern.compile(Pattern.java:1028)
    at java.lang.String.replaceAll(String.java:2223)
    at com.multithreading.fileRead.MainFile.main(MainFile.java:62)
READ ALSO
Обработка bootstrap multiple select

Обработка bootstrap multiple select

Пользуюсь вот этим скриптом

296
Вывод подменю в определенном месте

Вывод подменю в определенном месте

Как сделать так, чтобы при наведении мышью на пункт меню, всплывало подменю этого пункта в определенном месте на странице, как на рисунке

322
Вызов функции JavaScript для значения поля /p html

Вызов функции JavaScript для значения поля /p html

Добрый деньПодскажите, пожалуйста, есть надпись на html:

272