对于读取文本文件中行数的扫描仪,我一直得到错误的输出[重复]

问题描述 投票:0回答:1

文本文件,作为测试运行,我正在使用12行。我希望输出为12。我的输出始终为0。怎么了?我已经为学校编写了数千种这样的方法,但实际上无法弄清为什么这种方法不起作用。请帮助,我正在失去一种简单的方法。

public static int countLines(String inFileName) {

    int numLines = 0;
    try {
        Scanner scFile = new Scanner(inFileName);
        String line = scFile.nextLine();
        while (!(line.equalsIgnoreCase("")) && scFile.hasNext()) {
            numLines++;
            line = scFile.nextLine();
            scFile.next();
        }
        scFile.close();
    } catch (Exception e) {
        System.out.println("Error: " + e);
    }

    return numLines;
}
java arrays text-files
1个回答
0
投票

尝试一下:-

Stream<String> stream = Files.lines(Paths.get("file path"));
stream.forEach(System.out::println);

0
投票

如何使用IO包

int noOfLines = 0;
BufferedReader reader;
try {
    reader = new BufferedReader(new FileReader("myfile.txt"));
    String line = reader.readLine();
    while (line != null) {
        //System.out.println(line);
        // read next line
        line = reader.readLine();
        noOfLines++;        }
        reader.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
    System.out.println(noOfLines);
© www.soinside.com 2019 - 2024. All rights reserved.