### 版本情况

JDK版本：    openjdk8/openjdk21
hutool版本： 5.8.21

### 问题描述（包括截图）
同一份文件计算行号时`cn.hutool.core.io.FileUtil#getTotalLines` 在jdk8和jdk21中结果不一致,21中多一行
看着是因为`java.io.LineNumberReader#read()` 在jdk21的时候末尾会再次行号++
看了下17的也是比8的多一行。
顺带一提`cn.hutool.core.io.FileUtil#getTotalLines`这个方法在面对空文件的时候，也会返回1
jdk21:
![81((INU8Q_@PHQSH`A_ _5Y](https://github.com/dromara/hutool/assets/33064315/6df75ac1-ef2c-4488-897b-42e32cc6ab2d)
jdk8:
![Y__CWT{WCSGZJU_{1XE$NSW](https://github.com/dromara/hutool/assets/33064315/1572a36e-3b52-4c14-96ea-17c08e1a58e4)


1. 复现代码

```java
    public static void main(String[] args) {
        File file = new File("C:/Users/dell/Desktop/1_psi_index_0.txt");
        System.out.println(FileUtil.getTotalLines(file));
    }
```

2. 堆栈信息

3. 测试涉及到的文件（注意脱密）

[1_psi_index_0.txt](https://github.com/dromara/hutool/files/15373377/1_psi_index_0.txt)

比如报错的Excel文件，有问题的图片等。
cn.hutool.core.io.FileUtil#getTotalLines 在jdk8和jdk21中结果不一致
This is a GitHub Issue
repo:hutool
owner:dromara
Title : cn.hutool.core.io.FileUtil#getTotalLines 在jdk8和jdk21中结果不一致
Issue date:

--- start body ---
### 版本情况

JDK版本：    openjdk8/openjdk21
hutool版本： 5.8.21

### 问题描述（包括截图）
同一份文件计算行号时`cn.hutool.core.io.FileUtil#getTotalLines` 在jdk8和jdk21中结果不一致,21中多一行
看着是因为`java.io.LineNumberReader#read()` 在jdk21的时候末尾会再次行号++
看了下17的也是比8的多一行。
顺带一提`cn.hutool.core.io.FileUtil#getTotalLines`这个方法在面对空文件的时候，也会返回1
jdk21:
![81((INU8Q_@PHQSH`A_ _5Y](https://github.com/dromara/hutool/assets/33064315/6df75ac1-ef2c-4488-897b-42e32cc6ab2d)
jdk8:
![Y__CWT{WCSGZJU_{1XE$NSW](https://github.com/dromara/hutool/assets/33064315/1572a36e-3b52-4c14-96ea-17c08e1a58e4)


1. 复现代码

```java
    public static void main(String[] args) {
        File file = new File("C:/Users/dell/Desktop/1_psi_index_0.txt");
        System.out.println(FileUtil.getTotalLines(file));
    }
```

2. 堆栈信息

3. 测试涉及到的文件（注意脱密）

[1_psi_index_0.txt](https://github.com/dromara/hutool/files/15373377/1_psi_index_0.txt)

比如报错的Excel文件，有问题的图片等。
--- end body ---
