Допустим, в одном файле у меня есть следующий код Java:
//#if defined(LOGGING)
4 static {
8 if (System.getProperty(ARGO_CONSOLE_SUPPRESS) != null) {
12 Category.getRoot().getLoggerRepository().setThreshold(Level.OFF);
8 }
4 }
//#endif
Или это:
//#if defined(LOGGING)
0 static {
0 if (System.getProperty(ARGO_CONSOLE_SUPPRESS) != null) {
0 Category.getRoot().getLoggerRepository().setThreshold(Level.OFF);
0 }
0 }
//#endif
В файл добавлены два комментария, в дополнение к коду, а цифры показывают количество пробелов (они добавлены только здесь для иллюстрации). Теперь моя цель - определить два шаблона отступов между комментариями: Bubble (первый фрагмент кода) или Straight (второй фрагмент кода).
В идеале я пытаюсь сказать, например:
LOGGING: Bubble 1, Straight 1
LOGGING2: Bubble 15, Straight 14
... (и т. Д. Для каждого //#if defined(...) ... //#endif
.
Чтобы найти отступы, я использую следующий метод:
public static void lineIndents(File file) throws IOException {
scan = new Scanner(file);
while(scan.hasNextLine()) {
String strLine = scan.nextLine();
if(strLine.isEmpty()) {
System.out.println(strLine);
} else {
if(strLine.charAt(0) == '\t') {
System.out.println("t" + strLine.lastIndexOf('\t') + strLine);
} else {
//writeIndents(file, strLine.indexOf(strLine.trim()));
System.out.println(strLine.indexOf(strLine.trim()) + ": " + strLine);
}
}
}
}
Спасибо за любые предложения, помощь или комментарий!