题目
编写程序打开并读取一个指定的文本文件,统计该文本文件包含的总行数并在控制台输出。
输入格式:程序默认读取当前目录下的测试文件 test.txt(或从标准输入读入文件名)。
输出格式:输出一个整数表示统计到的文本行数,末尾换行。
数据范围与约定:文件大小不超过 10MB。
思路与算法
1. 文件指针与只读打开
使用 FILE *fp = fopen(filename, "r"); 打开文件,务必检查 fp == null 防御文件不存在或无权限打开。
2. 字符读取与换行符统计
使用 int ch = fgetc(fp); 逐字符读取直到 输入流结束。遇到换行符 '\n' 时计数器加 1。最后必须调用 fclose(fp) 释放文件描述符。
完整程序
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int lineCount = 0;
// 循环读取每一行文本直到输入结束
while (sc.hasNextLine()) {
sc.nextLine();
lineCount++;
}
System.out.println(lineCount);
}
}运行示例
输入:
hello world
java programming
final line输出:
3