BufferedReader
来逐行读取文件中的数据。File file = new File("原始数据文件路径");
BufferedReader reader = new BufferedReader(new FileReader(file));
String line;
while ((line = reader.readLine()) != null) {
// 处理每行数据
}
reader.close();
while ((line = reader.readLine()) != null) {
String[] fields = line.split(","); // 假设数据以逗号分隔
String cleanedData = "";
for (String field : fields) {
// 对每个字段进行清洗操作
// ...
cleanedData += cleanedField + ",";
}
cleanedData = cleanedData.substring(0, cleanedData.length() - 1); // 去除最后一个逗号
// 存储清洗后的数据 或 输出到文件
}
// 存储到数据库
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/database", "username", "password");
Statement statement = connection.createStatement();
String sql = "INSERT INTO cleaned_data VALUES (" + cleanedData + ")";
statement.executeUpdate(sql);
// 写入到新的文件
FileWriter writer = new FileWriter("清洗后的数据文件路径");
writer.write(cleanedData);
writer.close();
// 输出到控制台
System.out.println(cleanedData);
以上是一个基本的数据清洗功能的实现框架,根据具体的清洗需求,可以在第2步的处理循环中添加更多的数据清洗逻辑。另外,还可以使用第三方库,如Apache Commons CSV,来更方便地处理CSV格式数据。