返回.txt文件中的行数

时间:2015-05-09 08:30:54

标签: java methods return

这是我的首发问题,所以我会尽量清楚。

我有一个这样的sentence.txt文件:

  加拉塔萨雷昨晚1-0击败尤文图斯队。

     

我会去你从未找到我的地方。

     

木瓜是一种美味可口的食物!

     该死的讲师永远不会超过70岁。

     

你在想什么?

显而易见,有5个句子,我的目标是编写一个listSize方法,返回此处列出的句子数。

public int listSize()
{
// the code is supposed to be here.

return sentence_total;}

感谢所有帮助。

3 个答案:

答案 0 :(得分:2)

要阅读文件并计算其行数,请使用插入java.io.LineNumberReader顶部的FileReader。在其上调用readLine(),直到它返回null,然后getLineNumber()知道最后一个行号,然后就完成了!

或者(Java 7+),您可以使用NIO2 Files类将文件一次完全读入List<String>,然后返回该列表的大小。

顺便说一句,我不明白为什么你的方法将int作为参数,它应该是计算和返回的值?

答案 1 :(得分:0)

使用以下代码获取该文件中的行数。

    try {
        File file = new File("filePath");
        BufferedReader reader = new BufferedReader(new FileReader(file));
        String line;
        int totalLines = 0;
        while((line = reader.readLine()) != null) {
            totalLines++;
        }
        reader.close();
        System.out.println(totalLines);
    } catch (Exception ex) {
        ex.printStackTrace(System.err);
    }

答案 2 :(得分:0)

你可以这样做:

Path file = Paths.getPath("route/to/myFile.txt");
int numLines = Files.readAllLlines(file).size();

如果你想限制它们或懒惰地处理它们:

Path file = Paths.getPath("route/to/myFile.txt");
int numLines = Files.llines(file).limit(maxLines).collect(Collectors.counting...);