一、遇到空行
LinenumberReader是一个BufferedReader子类,用于支持行号。当LinenumberReader读取到一个空行时,它会将行号计数器加1。下面是一个示例代码:
LinenumberReader lnr = new LinenumberReader(new FileReader("example.txt")); String line; while ((line = lnr.readLine()) != null) { if (line.isEmpty()) { System.out.println("空行"); } else { System.out.println(lnr.getLineNumber() + ": " + line); } }
当读取到空行时,getLineNumber()的返回值会加1。
二、LinenumberReader.skip()
LinenumberReader.skip()方法用于跳过指定数量的字符。例如:
LinenumberReader lnr = new LinenumberReader(new FileReader("example.txt")); lnr.skip(10); //跳过前10个字符 String line; while ((line = lnr.readLine()) != null) { System.out.println(lnr.getLineNumber() + ": " + line); }
上面的代码将从文件的第11个字符开始读取内容,并进行行号计数。
三、LinenumberReader读取指定行
LinenumberReader.getLine(int lineNum)方法用于读取指定行的内容。例如:
LinenumberReader lnr = new LinenumberReader(new FileReader("example.txt")); String line; while ((line = lnr.readLine()) != null) { if (lnr.getLineNumber() == 5) { System.out.println("第5行的内容:" + line); } }
上面的代码将读取文件的第5行的内容。
四、LinenumberReader获取文件行数
LinenumberReader可以用于获取文件的行数。例如:
LinenumberReader lnr = new LinenumberReader(new FileReader("example.txt")); int lineCount = 0; while (lnr.readLine() != null) { lineCount++; } System.out.println("文件行数:" + lineCount);
上面的代码将输出文件的行数。
五、LinenumberReader为什么要加一
LinenumberReader在读取完一行后,会将行号计数器加1。这是为了使行号从1开始计数,而不是从0开始计数。
六、LinenumberReader指出代码问题
LinenumberReader有一个问题,就是它无法处理Windows换行符。在Windows系统中,换行符是”\r\n”,而不是”\n”。因此,在使用LinenumberReader时,需要注意换行符的问题,避免出现行数计数错误的情况。
七、LinenumberReader skip为啥要加
LinenumberReader.skip()方法的参数是需要跳过的字符数。为什么要在使用skip()时加上前面已经读取的字符数呢?这是因为读取操作是会将已经读取的字符数计入LineNumberReader的计数器中的。
八、LinenumberReader中skip
当使用LinenumberReader时,可以通过skip()方法快速跳过一定数量的字符。例如:
LinenumberReader lnr = new LinenumberReader(new FileReader("example.txt")); int skipChars = 10; while (lnr.skip(skipChars) > 0) { System.out.println("跳过了" + skipChars + "个字节"); }
上面的代码将跳过文件的前10个字符,然后输出一条跳过了10个字节的消息。
九、LinenumberReader.readline
LinenumberReader.readLine()方法用于读取文件的一行,并将行号计数器加1。例如:
LinenumberReader lnr = new LinenumberReader(new FileReader("example.txt")); String line; while ((line = lnr.readLine()) != null) { System.out.println(lnr.getLineNumber() + ": " + line); }
上面的代码将读取文件的每一行,并输出行号和行的内容。
十、LinenumberReader.getlinenumber
LinenumberReader.getLineNumber()方法用于获取当前行号。例如:
LinenumberReader lnr = new LinenumberReader(new FileReader("example.txt")); String line; while ((line = lnr.readLine()) != null) { System.out.println(lnr.getLineNumber() + ": " + line); }
上面的代码将输出文件的每一行,并输出行号和行的内容。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/156450.html