Java编写一个程序,程序实现对用户指定的文本文件中的英文字符和字符串的个数进行统计的功能
时间: 2023-11-22 11:55:59 浏览: 109
下面是一个实现对用户指定的文本文件中的英文字符和字符串的个数进行统计的Java程序:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class CharacterAndStringCounter {
public static void main(String[] args) {
if (args.length != 1) {
System.err.println("Usage: java CharacterAndStringCounter <filename>");
System.exit(1);
}
String filename = args[0];
int charCount = 0;
int stringCount = 0;
try (BufferedReader br = new BufferedReader(new FileReader(filename))) {
String line;
while ((line = br.readLine()) != null) {
charCount += line.replaceAll("\\s", "").length();
String[] words = line.split("\\s+");
stringCount += words.length;
}
} catch (IOException e) {
System.err.println("Error reading file: " + e.getMessage());
System.exit(1);
}
System.out.println("Character count: " + charCount);
System.out.println("String count: " + stringCount);
}
}
```
这个程序接受一个命令行参数,即待处理的文件名。程序使用Java的标准IO库读取文件内容,将文件内容按行读取,统计每行中的英文字符和字符串个数,并将结果输出到控制台。
程序首先检查命令行参数的个数是否为1,如果不是则输出错误信息并退出。接着程序使用BufferedReader读取文件内容,并在读取每一行时进行字符和字符串的统计。字符的统计使用replaceAll方法去掉每行中的空白符,然后使用length方法计算字符串长度。字符串的统计使用split方法将每行按空白符分割成单词,然后使用length方法计算单词个数。最后程序将统计结果输出到控制台。
注意,这个程序只能处理英文文本文件,对于其他语言或者带有特殊字符的文本文件可能无法正确统计字符和字符串的个数。
阅读全文