java 解析text 文件一批数据 相同类型统计数量
时间: 2024-02-17 09:59:42 浏览: 66
Java统计数组中相同元素个数
5星 · 资源好评率100%
要解析一个文本文件并统计其中相同类型的数据数量,可以使用Java中的文件读取和字符串处理功能。以下是一个基本的实现:
1. 首先,使用Java中的文件读取功能读取文本文件并将其存储到一个字符串中。
2. 然后,使用Java中的字符串分割功能将字符串分割成一行一行的数据。
3. 对于每一行数据,使用Java中的正则表达式或其他字符串处理功能识别出数据类型,并将其加入一个HashMap中。
4. 最后,遍历HashMap并输出每种数据类型及其数量。
以下是一个示例代码:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class TextParser {
public static void main(String[] args) {
String fileName = "example.txt";
// 读取文件并将其存储到字符串中
String fileContent = "";
try (BufferedReader br = new BufferedReader(new FileReader(fileName))) {
String line;
while ((line = br.readLine()) != null) {
fileContent += line + "\n";
}
} catch (IOException e) {
e.printStackTrace();
}
// 分割字符串成一行一行的数据
String[] lines = fileContent.split("\n");
// 统计数据类型数量
Map<String, Integer> typeCount = new HashMap<>();
for (String line : lines) {
// 识别数据类型
String type = "";
if (line.matches("\\d+")) {
type = "number";
} else if (line.matches("[A-Za-z]+")) {
type = "string";
} else {
type = "other";
}
// 将数据类型加入HashMap并增加数量
if (typeCount.containsKey(type)) {
typeCount.put(type, typeCount.get(type) + 1);
} else {
typeCount.put(type, 1);
}
}
// 输出结果
for (Map.Entry<String, Integer> entry : typeCount.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
```
请注意,这只是一个简单的示例代码,可能需要根据实际情况进行修改和优化。
阅读全文