2016-11-10 8 views
0

パイプで区切られたデータがあるiniファイルがあります。私はファイルを読み込んで、キー、値を文字列またはjavaで何かに設定したい。JavaでPipe Iniを解析する

私はini4j使っていたが、どこでも、私はあなたがセクションで何かを持っている必要がありiniファイルを解析するために見て、私のファイルは、データがこの

4800から722のように見えることはありません| 4800ロジックス 4800- 723 | 4800ロジックス 4800から743 | 4900ロジックス 4900から745 | 4900ロジックス 4900から746 | 4900ロジックス 4900から786 | 4900ロジックス 4800-C41 | 4900のコントローラ 4800-C42 | 4900のコントローラ

私はこれをとって、例えば最初のものを鍵としてe秒はハッシュマップのような値です。私が問題を起こしているのは、このiniファイルを解析する方法を見つけることです。私はあなたがセクションを使用して、セクションから何かを得なければならないことを見ているのです。私はこれをテキストファイルに移すことはできません。これはサーバー上に存在するファイルで、私はそれを使用しなければなりません。すべてのヘルプは、私はちょうど私は単なるテキストファイルとしてこれを読んで、私は自分のコードが必要かを解析することができました、これまでに

Wini ini; 
    try { 
     ini = new Wini(new File("C:/toolbox/settings.ini")); 



    } catch (InvalidFileFormatException e) { 
     System.out.println("Invalid file format."); 
    } catch (IOException e) { 
     System.out.println("Problem reading file."); 
    } 
+0

あなたのファイルは有効なINIのようには見えません。あなたはそれが "標準"を遵守していると確信していますか? – UnholySheep

+0

はい私は実際にサーバからマシンにftpして、ini4jを使ってテストしようとしているノートパッドで開いています。 –

+0

ftpやサーバがファイルがあるかどうかはわかりません実際のINI形式。あなたが言ったように、INI形式は、括弧とキーと値のペアで等号で区切られたセクションを期待しています。あなたのファイルにはそのようなものはありません – UnholySheep

答えて

0

これを持っていることは以下の通りですいただければ幸いあなたUnholySheepに感謝。

public static void LoadEtlData(String[] args) throws IOException { 
    String file_name = "C:/toolbox/troux_etl.ini"; 
    ArrayList<String> records = new ArrayList<String>(); 

    try { 
     BufferedReader reader = new BufferedReader(new FileReader(file_name)); 
     String line; 
     while ((line = reader.readLine()) != null){ 
      records.add(line); 
     } 
     reader.close(); 
     System.out.println(records); 


    } catch (FileNotFoundException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

}