2016-07-21 2 views
1

가능한지 모르겠지만 요구 사항은 무엇입니까? System.evtx 내 Java 프로그램에있는 파일에서 데이터를 읽어야합니다.자바 프로그램을 통해 .evtx 확장 파일을 읽는 방법.

간단한 파일 읽기와 같은 작업을하는 동안 일부 ASCII 문자가 표시되거나 읽을 수없는 형식으로 말할 수 있습니다.

이 문제를 해결할 방법이 있습니까?

미리 감사드립니다.

답변

1

이것은 파일 내용의 예제가 없으면 대답하기 어려운 질문이지만 일부 검색 후에는 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(); 
       } 
      } 
     } 

    } 

} 
관련 문제