1
가능한지 모르겠지만 요구 사항은 무엇입니까? System.evtx 내 Java 프로그램에있는 파일에서 데이터를 읽어야합니다.자바 프로그램을 통해 .evtx 확장 파일을 읽는 방법.
간단한 파일 읽기와 같은 작업을하는 동안 일부 ASCII 문자가 표시되거나 읽을 수없는 형식으로 말할 수 있습니다.
이 문제를 해결할 방법이 있습니까?
미리 감사드립니다.
가능한지 모르겠지만 요구 사항은 무엇입니까? System.evtx 내 Java 프로그램에있는 파일에서 데이터를 읽어야합니다.자바 프로그램을 통해 .evtx 확장 파일을 읽는 방법.
간단한 파일 읽기와 같은 작업을하는 동안 일부 ASCII 문자가 표시되거나 읽을 수없는 형식으로 말할 수 있습니다.
이 문제를 해결할 방법이 있습니까?
미리 감사드립니다.
이것은 파일 내용의 예제가 없으면 대답하기 어려운 질문이지만 일부 검색 후에는 Windows 이벤트 로그 파일 인 것 같습니다. 그래서 정확한 형식에 대한 확신 메신저하지만 분명히 그들은 PowerShell을 사용하여 .csv 파일로 변환 할 수 있습니다를 CSV 형식의 일단
Get-WinEvent -Path c:\path\to\eventlog.evtx |Export-Csv eventlog.csv
당신이 CSV의 전통적인 방식으로 간단한 구문 분석 할 수하거나 쉼표의 등으로 분할 .
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();
}
}
}
}
}