2016-07-21 15 views
1

可能かどうかはわかりませんが、私の要件は次のようなものです。System.evtxというファイルからデータを読み込む必要があります。Javaプログラムを通じて.evtx拡張ファイルを読む方法

私は単純なファイルの読み方のようにこれをやっていますが、私はいくつかのASCII文字を取得していますが、読み込み不能な形式を言うこともできます。

この問題を解決する方法はありますか?

ありがとうございます。

答えて

1

これはファイル内容の例がなければ答えにくい質問ですが、いくつかのグーグルの後にはWindowsイベントログファイルのようですか?だから、正確な形式がわからないイムが、どうやら彼らは、PowerShellを使用してファイルを.csvファイルに変換することができます。

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

そのcsv形式であなたはcsvファイルの伝統的な方法でそれらを簡単な解析ができ、または単にカンマの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(); 
       } 
      } 
     } 

    } 

} 
関連する問題