- 同学, 最开始我也纠结这个问题, 最后思考后得到结论, 因为java计数是从0开始的, LineNumberRead遇到回车符就会 +1,并且把这个值赋给当前行, 所以就是从1 开始的
- import java.io.FileNotFoundException;
- import java.io.FileReader;
- import java.io.IOException;
- import java.io.LineNumberReader;
- public class SunJingQi {
- public static void main(String[] args) {
- FileReader fr = null;
- LineNumberReader lnr = null;
- try {
- fr = new FileReader("e:\\sunjingqi.txt");
- lnr = new LineNumberReader(fr);
- // 设置数字,从几开始
- lnr.setLineNumber(100);
- String line = null;
- while ((line = lnr.readLine()) != null) {
- // 得到行数,从0开始
- System.out.println(lnr.getLineNumber() + ":" + line);
- }
- } catch (FileNotFoundException e) {
- throw new RuntimeException("文件没有找到");
- } catch (IOException e) {
- throw new RuntimeException("读取文件失败");
- }
- try {
- if (lnr != null)
- lnr.close();
- } catch (IOException e) {
- throw new RuntimeException("读取关闭失败");
- }
- }
- }
复制代码 |