Как читать данные из текстового файла в Java с условиями, что данные должны быть прочитаны из одной позиции в другую позицию - PullRequest
1 голос
/ 04 апреля 2019

Сначала я хочу прочитать текстовый файл от события 1 до конца 1, а затем от события 2 до конца 2 и т. Д. В коде будет несколько строк, которые находятся между одним событием и другим событием.Текстовый файл выглядит следующим образом:

event 1 arg  arg  arg  end 1 
event 2 arg arg arg end 2

1 Ответ

0 голосов
/ 04 апреля 2019

Если я понимаю, попробуйте это

public void method() {
    String file = "C:\\text.txt";
    LineNumberReader reader = null;
    Pattern pattern;
    Matcher matcher;
    String line=null;
    int i;
    try {
        reader = new LineNumberReader(new FileReader(file));

        while ((line = reader.readLine()) != null) {
            i = reader.getLineNumber();
            String template = "event" + i + ".+end" + i;
            pattern = Pattern.compile(template);
            matcher = pattern.matcher(line);
            if (matcher.find()) {
                System.out.println(line.substring((matcher.start()), matcher.end()));
            }
        }
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

}

В файле

event1 arg arg arg end1
event2 arg arg arg end2

И вывод тоже самое

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...