读取一个文本文件,并对某个特定字符计数。
(1)键盘输入要读取的文件名
(2)键盘输入要计数的字符
(3)读取文件并对字符计数,输出特定字符计数结果
(4)读取文件并计数,对read()和read(char[])两个函数分别实现。(采用两种方法实现计数,一种为每次读取一个字符,一种为每次读取一个数组)
根据题意,首先准备好一个要读取的文件,笔者将要读取的文件放在了工程的第一级目录下,文件名为:Text.txt
,文件内容为:aaaaabcdef
共十个字符,工程目录以及文件内容如下图所示:
方法一:每次读取一个字符
package CurriculumDesign;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Scanner;
/*
2.读取一个文本文件,并对某个特定字符计数。
(1)键盘输入要读取的文件名
(2)键盘输入要计数的字符
(3)读取文件并对字符计数,输出特定字符计数结果
(4)读取文件并计数,对read()和read(char[])两个函数分别实现。(采用两种方法实现计数,一种为每次读取一个字符,一种为每次读取一个数组)
*/
// 实现一:【每次读取一个字符】
public class Test2 {
public static void main(String[] args) {
//创建一个Scanner类对象用于接收键盘输入
Scanner scanner = new Scanner(System.in);
//接收要读取的文件名,笔者放在了工程第一级目录下,其他情况请弄清相对路径和绝对路径的区别
//然后输入:全路径+文件全名+文件后缀 (例如:D:\Text.txt)
System.out.println("请输入要读取的文件名:");
String fileName = scanner.nextLine();
//接收要计数的字符
//说明:Java的Scanner类中没有直接读取一个字符的方法,我们先读取一个字符串再取其第一个字符即可。
System.out.println("请输入要计数的字符:");
char myChar = scanner.nextLine