import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class LogExtractor {
public static void main(String[] args) {
String logFilePath = "your_log_file.log"; // Replace with your log file path
String delimiter = ","; // Replace with your delimiter if needed
try {
List<Map<String, String>> data = extractData(logFilePath, delimiter);
// Process the extracted data
for (Map<String, String> row : data) {
System.out.println(row); // Or perform other data migration tasks
}
} catch (IOException e) {
System.err.println("Error reading log file: " + e.getMessage());
}
}
public static List<Map<String, String>> extractData(String logFilePath, String delimiter) throws IOException {
List<Map<String, String>> data = new ArrayList<>();
try (BufferedReader br = new BufferedReader(new FileReader(logFilePath))) {
String line;
String[] headers = null;
// Read the header line
if ((line = br.readLine()) != null) {
headers = line.split(delimiter);
}
//If no headers, return empty list
if (headers == null) {
return data;
}
// Read each data line
while ((line = br.readLine()) != null) {
String[] values = line.split(delimiter);
if (values.length == headers.length) { // Ensure consistent number of values
Map<String, String> row = new HashMap<>();
for (int i = 0; i < headers.length; i++) {
row.put(headers[i], values[i]);
}
data.add(row);
}
}
}
return data;
}
}
Add your comment