用java 语言来统计一个文件(英文文本或中文文本)中的字符数、单词数和行数
时间: 2024-02-18 07:02:04 浏览: 88
基于Python实现的一个命令行文本计数统计程序,可统计纯英文txt文本中的字符数,单词数,句子数,Python文件行数
好的,可以使用 Java 的 IO 和正则表达式来实现。以下是一个示例代码:
```java
import java.io.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class FileStats {
public static void main(String[] args) {
String filename = "test.txt"; // 文件名
int charCount = 0; // 字符数
int wordCount = 0; // 单词数
int lineCount = 0; // 行数
try (BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(filename), "UTF-8"))) {
String line;
while ((line = br.readLine()) != null) {
// 统计行数
lineCount++;
// 统计字符数
charCount += line.length();
// 统计单词数
Pattern pattern = Pattern.compile("\\b\\w+\\b"); // 匹配单词的正则表达式
Matcher matcher = pattern.matcher(line);
while (matcher.find()) {
wordCount++;
}
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("字符数:" + charCount);
System.out.println("单词数:" + wordCount);
System.out.println("行数:" + lineCount);
}
}
```
需要注意的是,在读取文件时需要指定字符集,否则可能会出现乱码。上述代码中使用的字符集是 UTF-8。如果要处理其他字符集的文件,需要相应地修改字符集。
阅读全文