Mickey Patel
Mickey Patel

Reputation: 501

How to read .evtx extension file through java program

I don't know if it is possible or not, but my requirement is like - I have to read data from a file called System.evtx in my java program.

While I am doing this like simple file reading I am getting some ASCII character or I can say un-readable format.

Is there any way to solve this issues.

Thanks in advance.

Upvotes: 1

Views: 1356

Answers (1)

D3181
D3181

Reputation: 2092

This is a difficult question to answer without an example of the file content, but after some googling it seems to be a windows event log file? So im unsure about the exact format but apparently they can be converted to .csv files using powershell:

Get-WinEvent -Path c:\path\to\eventlog.evtx |Export-Csv eventlog.csv

Once its in a csv format you could simple parse them in the traditional way of csv or just split by comma's etc.

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class CSVReader {

    public static void main(String[] args) {

        String csvFile = "eventlog.csv";
        BufferedReader br = null;
        String line = "";
        String cvsSplitBy = ",";

        try {

            br = new BufferedReader(new FileReader(csvFile));
            while ((line = br.readLine()) != null) {

                // use comma as separator
                String[] line = line.split(cvsSplitBy);

for(int i=0;i<line.length;i++){
System.out.println(line[i]);
}

            }

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (br != null) {
                try {
                    br.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

    }

}

Upvotes: 1

Related Questions