Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Tallid
    Registrato dal
    Jan 2009
    Messaggi
    76

    Scorrere file properties

    Ho un file DB.properties così composto:
    /********************/
    numProdotti=2

    id=1
    Nome=Prosciutto

    id=2
    Nome=Pasta
    /*********************/

    Sono intenzionato a scorrerlo e a produrre l'output:

    1
    Prosciutto
    2
    Pasta

    Il codice che ho scritto finora è
    codice:
     try {
    
                 props.load(new FileInputStream("data/DB.properties"));
    
                 int nProdotti = Integer.parseInt(props.getProperty("numProdotti"));
    
                 System.out.println("Numero Prdotto : "+nProdotti+"\n");
                 for(int i=0;i<nProdotti;i++){
                    System.out.println(props.getProperty("id"));
                    System.out.println(props.getProperty("nome"));
                 }
                 
                 }
    
    
                 //catch exception in case properties file does not exist
    
                 catch(IOException e)
                 {
                 e.printStackTrace();
                 }
    Ma il programma manda in output
    2
    Pasta
    2
    Pasta

    In poche parole non riesco a scorrere il file, pensavo che il props una volta letta la prima chiave di tipo "X" passasse automaticamente alla successiva "X" ma così non fa, anzi
    parte direttamente dall' ultima.
    Come posso fare a produrre l'output corretto?Grazie.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Scorrere file properties

    Originariamente inviato da Tallid
    Ho un file DB.properties così composto:
    /********************/
    numProdotti=2

    id=1
    Nome=Prosciutto

    id=2
    Nome=Pasta
    /*********************/

    Ma il programma manda in output
    2
    Pasta
    2
    Pasta
    I file di properties, quando sono in memoria nel java.util.Properties, sono semplicemente una "mappa" di chiavi associate a dei valori ... dove le chiavi sono "univoche".
    In sostanza e detto in altro modo, non puoi avere 2 chiavi "id" distinte ognuna con un proprio valore.

    Quando il file viene letto, inizialmente viene mappata la associazione id --> 1 ma poi continuando la lettura viene rimappata quella associazione come id --> 2.

    Soluzioni:

    1) Se puoi cambiare le denominazioni, potrei consigliare ad esempio:

    numProdotti=2
    Nome1=Prosciutto
    Nome2=Pasta

    2) Se non puoi/vuoi cambiare denominazioni, ti tocca leggere e "parsare" tu il file.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it L'avatar di Tallid
    Registrato dal
    Jan 2009
    Messaggi
    76
    Ora mi è decisamente più chiaro, per fortuna sono in grado di applicare la prima soluzione,
    Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.