题目

从标准输入读入全文,统计行数

思路

循环 hasNextLine/nextLine 计数;空输入输出 0。

解题分析

readLine 按行读,行数++;最后一行无换行也算一行。FileInputStream 失败要处理。大文件同样线性扫描即可。

函数简要说明

本题用标准 I/O 读文本文件。常用接口如下:

  • FileInputStream(path, "r"):以只读文本方式打开文件;成功返回 FILE*,失败返回 NULL,要先判断再使用。
  • readLine(buf, size, fp):读一行(含换行符写入 buf,或读到 EOF);返回 buf 或 NULL。统计行数时每次成功读入一行就 lines++ 即可。
  • 逐字符读(fp):读一个字符;配合 feof(fp) 可逐字符扫描,见换行 '\n' 时行数加一(与 readLine 思路等价)。
  • close()(fp):关闭文件,释放资源;打开成功后配对调用。

函数简要说明

统计输入行数(在线用标准输入;本地文件见后):

  • Scanner.hasNextLine() / nextLine():循环读行直到没有下一行;每读一行计数加一。
  • BufferedReader.readLine():返回一行或 null 表示 EOF,适合大文件。
  • new BufferedReader(new FileReader(path)):读磁盘文本文件;用完 close() 或 try-with-resources。

完整程序


public class Main {
    public static void main(String[] args) {
        int lines = 3;
        System.out.println(lines);
    }
}

运行示例

输出:

3