Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    59

    Lettura file di configurazione (properties) esterno

    Ciao a tutti!
    Qualcuno sa come posso fare a far leggere al mio programma il file.properties messo all'esterno del progetto! grazie

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315
    Non ho ben capito dove sia il problema... gli passi il percorso del file.

    codice:
    String percorso_al_file = ...   // Qui scrivi una stringa con il percorso completo al file
    FileInputStream fis = null;
    Properties prop = new Properties();
    try {
       fis = new FileInputStream( percorso_al_file );
       prop.load( fis );
    } catch (Exception e) {
       e.printStackTrace();
    } finally {
       if (fis != null) {
          try { fis.close(); } catch (Exception e) { }
       }
    }
    Non so se ho capito ben il problema. Se l'ho capito bene, non è proprio una buona pratica quello di avere dei file di properties sparsi al di fuori della directory di "installazione" dell'applicazione. Generalmente i file di properties si posizionano all'interno di percorsi relativi all'installazione dell'applicazione e noti a priori.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    59
    Lo volevo esterno al jar, cosi posso modificarlo quando voglio senza problemi.. e comunque ho provato il tuo metodo, solo che alla prima rima quando devo inserire nella stringa il percorso di dove si trova il file, eclipse non me lo accetta... mi dice
    "Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )"

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315
    Originariamente inviato da Alice91
    Lo volevo esterno al jar, cosi posso modificarlo quando voglio senza problemi.. e comunque ho provato il tuo metodo, solo che alla prima rima quando devo inserire nella stringa il percorso di dove si trova il file, eclipse non me lo accetta... mi dice
    "Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )"
    Che sia esterno al JAR va benissimo. L'unica accortezza sarebbe quella di metterlo all'interno di una directory "nota" (ad esempio, una sottocartella "conf" della cartella dell'applicazione).

    Per il messaggio d'errore, se non posti il codice non sapremo mai cosa stai scrivendo... la butto lì: hai forse scritto il percorso dimenticando che quella è una stringa e va posta fra virgolette? Oppure stai usando la notazione Windows per i percorsi (ovvero usando il carattere backslash - \ - al posto dello slash - / - senza effettuarne il quoting)?

    codice:
    String percorso_al_file = "C:/Esempio/di/Percorso/Al/File.properties";
    
    oppure
    
    String percorso_al_file = "C:\\Esempio\\di\\Percorso\\Al\\File.properties";
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    59
    si scusa, il codice è questo:

    String percorso_al_file = "C:\Documents and settings\alice\Documenti\java\prova";

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315
    Originariamente inviato da Alice91
    si scusa, il codice è questo:

    String percorso_al_file = "C:\Documents and settings\alice\Documenti\java\prova";
    Eh già... in Java (come in tanti altri linguaggi) il carattere di backslash ( \ ) è usato per quotare i caratteri particolari (\n è il carattere di newLine, \r è il carattere di ritorno carrello, \t è la tabulazione, ecc). Di conseguenza, se si vuole usare il carattere di backslash all'interno di una stringa, esso va a sua volta quotato (vedi il mio precedente esempio).

    La tua stringa dovrà diventare

    codice:
    String percorso_al_file = "C:\\Documents and settings\\alice\\Documenti\\java\\prova";
    La cosa si può anche "ovviare" cambiando il carattere di backslash con lo slash ( / ) singolo. Tanto Java si arrangerà ad adattarlo al sistema operativo sottostante.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.