2016-11-10 2 views
0

J'ai un fichier ini qui a certaines données qui sont séparées par un tuyau. Je veux lire dans le fichier, puis définir la clé, la valeur d'une chaîne ou quelque chose avec Java.analyse Pipe Ini avec Java

j'utilisais ini4j mais partout où je regarde pour analyser le fichier ini vous devez avoir quelque chose avec des sections mon dossier ne l'a pas les données ressemble à ce

4800-722 | 4800 Logiques 4800- 723 | 4800 | Logiques 4800-743 4900 Logiques 4900-745 | 4900 | Logiques 4900-746 4900 Logiques 4900-786 | 4900 Logiques 4800-C41 | 4900 Contrôleurs 4800-C42 | 4900 Contrôleurs

Je veux prendre cela et par exemple mettre le premier comme une clé puis th e seconde comme une valeur comme hashmap. Le problème que je suis, je ne peux pas trouver comment analyser ce fichier ini comme ça tout ce que je vois vous devriez utiliser des sections et obtenir quelque chose dans les sections. Je ne peux pas déplacer ceci dans un fichier texte c'est un fichier qui vit sur le serveur et je dois l'utiliser. Toute aide serait apprécié ce que je viens jusqu'à présent

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

Votre fichier ne me ressemble pas à une INI valide. Êtes-vous sûr qu'il adhère à la "norme"? – UnholySheep

+0

oui je l'ai fait passer du serveur à ma machine et l'ai ouvert avec le bloc-notes c'est comme ça que j'essaye de le tester en utilisant ini4j –

+0

Je ne vois pas ce que ftp ou un serveur doit faire avec si le fichier est dans un format INI réel. Comme vous l'avez dit, le format INI attend des sections marquées de crochets et de paires valeur/clé séparées par un signe égal. Votre dossier n'a aucun de cela – UnholySheep

Répondre

0

Je viens de lire cela comme un fichier texte et a pu analyser ce que je besoin de mon code est ci-dessous vous remercier 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(); 
    } 

}