【统计一个文件中的字符数、单词数和行数】用 java编写程序统计一个文件中的字符数(控制字符\r和\n除外)、单词数以及行数。单词由空格、Tab、回车或换行符分隔。文件名作为命令行参数传递。
时间: 2024-03-09 15:46:52 浏览: 237
好的,下面是 Java 代码实现:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class FileStats {
public static void main(String[] args) {
if (args.length != 1) {
System.out.println("Usage: java FileStats <filename>");
return;
}
String filename = args[0];
int charCount = 0;
int wordCount = 0;
int lineCount = 0;
try (BufferedReader reader = new BufferedReader(new FileReader(filename))) {
String line;
while ((line = reader.readLine()) != null) {
charCount += line.length();
wordCount += line.split("[\\s]+").length;
lineCount++;
}
} catch (IOException e) {
e.printStackTrace();
return;
}
System.out.println("Character count: " + charCount);
System.out.println("Word count: " + wordCount);
System.out.println("Line count: " + lineCount);
}
}
```
在命令行中运行该程序:`java FileStats <filename>`,其中`<filename>`是要统计的文件名。程序首先检查传入的参数是否正确,然后使用`BufferedReader`读取文件内容并统计字符数、单词数和行数。在读取每一行时,使用`String`类的`length()`方法统计字符数,使用`split()`方法和正则表达式`[\\s]+`统计单词数(`[\\s]+`匹配一个或多个空白字符),行数则直接递增。最后输出统计结果即可。
阅读全文