我无法重现你声称BufferedReader跳过空行;它应该没有.
以下是显示空行不仅仅被跳过的片段.
String text = "line1\n\n\nline4";
BufferedReader br = new BufferedReader(new StringReader(text));
String line;
int lineNumber = 0;
while ((line = br.readLine()) != null) {
System.out.printf("%04d: %s%n",++lineNumber,line);
}
String text = "line1\n\n\nline4";
LineNumberReader lnr = new LineNumberReader(new StringReader(text));
String line;
while ((line = lnr.readLine()) != null) {
System.out.printf("%04d: %s%n",lnr.getLineNumber(),line);
}
String text = "line1\n\n\nline4";
Scanner sc = new Scanner(text);
int lineNumber = 0;
while (sc.hasNextLine()) {
System.out.printf("%04d: %s%n",sc.nextLine());
}
以上任何代码段的输出是:
0001: line1
0002:
0003:
0004: line4
相关问题