Java 使用Integer.parseInt()检查行是否为整数

Java 使用Integer.parseInt()检查行是否为整数,java,file-io,while-loop,return,Java,File Io,While Loop,Return,我试图使用Integer.parsInt方法读取文件的行号,但是IDE在一起使用Integer.parsInt和IF语句时出现了错误注意:文件号是每行顶部的数字1和2 1 00:00:01,600 --> 00:00:04,080 <b>Mr Magnussen, please state your full name for the record.</b> 2 00:00:04,080 --> 00:00:07,040 Charles Augustus M

我试图使用Integer.parsInt方法读取文件的行号,但是IDE在一起使用Integer.parsInt和IF语句时出现了错误注意:文件号是每行顶部的数字1和2

1
00:00:01,600 --> 00:00:04,080
<b>Mr Magnussen, please state your
full name for the record.</b>

2
00:00:04,080 --> 00:00:07,040
Charles Augustus Magnussen.
更改内容后,如果此代码将返回每组行的行号

     public String lineLength() throws IOException {
    try {
        String file;
        file = "tra.srt";
        Charset charset = Charset.defaultCharset();
        Path path = Paths.get(file);
        BufferedReader reader = Files.newBufferedReader(path, charset);
        String line;

        while ((line = reader.readLine()) != null) {
            if (Integer.parseInt(line) > 0) {
                return line.substring(line.length());

            }
        }
    } catch (FileNotFoundException ex) {
        System.err.println(ex);
    }

    return "";
}
在这方面:

if (Integer.parseInt(line) != r) 

正如IDE告诉您的那样,您正在尝试比较int和boolean。这在Java中是不允许的。您可能希望将int与数字进行比较。

但是IDE在使用Integer.parint时出现了错误,这是什么错误?请注意,r是一个布尔值。@ZouZou可能使用了一个!=对Integer.parseInt和布尔值Integer.parseIntline返回的int的操作!=r、 parseInt返回已解析的int。它不返回布尔值。没有错误消息,亲爱的,它说只翻转if语句为什么有人-1这个问题?这取决于你到底想做什么。如果int大于0,是否希望传递if条件?如果是这样的话,那么直接进行比较,完全去掉布尔值。好的,我做了,但要注意我们正在做的是先返回每组行顶部的行号,然后在最后一个返回语句中我应该写什么我认为length方法是错误的,因为我需要它自己返回行
if (Integer.parseInt(line) != r)