我需要打印出代码,并且缩进是正确的,但其所有打印都应在该行的开头。
public static void printData(Scanner fileScanner) {
int lineNumber = 0;
while (fileScanner.hasNextLine()) {
System.out.println(lineNumber + ": " + fileScanner.nextLine());
lineNumber = lineNumber + 1;
}
System.out.println("\n" + "\n" + "Cross-Reference Index");
}
这会打印出从行首开始的所有代码,但是我希望它看起来像实际的代码一样。
答案 0 :(得分:0)
扫描仪可能是完成此工作的错误工具。 Scanner的要点是将输入分成“令牌”,通常由空格分隔。听起来,即使nextLine也会跳过前导空格。
尝试使用BufferedReader。
顺便说一句,您可能希望将行号字段设置为固定宽度。试试
String.format("%-7d:", lineNumber);
将导致数字左对齐,并用空格填充到7的宽度,然后加冒号。 (建议使用长度为8的倍数的前缀,以防出现硬标签)