Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    457

    Problema con properties

    Salve a tutti,

    sto sviluppando una classe che vada a leggere un file di properties.
    il codice dovrebbe essere del tipo :

    Properties prop = new Properties ();
    InputStream is = new FileInputStream ("prova.properties");
    prop.load (is);
    is.close ();

    e dove prova.properties contiene

    it.servizi.descr=descrizione dei servizi

    come si legge il file?
    in new FileInputStream e possibile specificare un path realtivo?
    in new FileInputStream ("prova.properties"); il path del file prova.properties si riferisce al path dell'applicazione ? ad esempio :C:\eclipse\workspace\mioProgetto\prova.properties

    grazie x ogni vostra possibile risposta

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

    Re: Problema con properties

    [QUOTE]Originariamente inviato da Mitele
    Originariamente inviato da Mitele
    in new FileInputStream e possibile specificare un path realtivo?
    "prova.properties" è già relativo ma alla directory "corrente". Se vuoi che sia relativo ad altro ..... precisa.

    Originariamente inviato da Mitele
    in new FileInputStream ("prova.properties"); il path del file prova.properties si riferisce al path dell'applicazione ?
    No, anche perché dire "path dell'applicazione" potrebbe voler dire altro o anche poco o essere vago.
    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
    Registrato dal
    May 2010
    Messaggi
    457
    scusa ma a quale directory corrente? quella dove gira l'applicazione??

    scusate ma non ci capisco molto ..so facendo confusione

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    457
    se io eseguo System.out.println( new java.io.File("stampa_data.java").getAbsolutePath() );


    viene stampato : C:\eclipse\workspace\DPS\stampa_data.java


    questo è il path relativo?

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da Mitele
    scusa ma a quale directory corrente? quella dove gira l'applicazione??
    No: la directory dove gira l'applicazione è la "directory dell'applicazione".
    Quella dove sei tu posizionato nel momento del lancio dell'applicazione è la directory corrente.

    Se sei a Roma e vuoi avviare un'applicazione che abita a Milano, la directory corrente è "Roma", la directory dell'applicazione è "Milano".

    Non credo ci possano essere dubbi su questo.

    se io eseguo System.out.println( new java.io.File("stampa_data.java").getAbsolutePath() );


    viene stampato : C:\eclipse\workspace\DPS\stampa_data.java


    questo è il path relativo?
    Ovviamente no... lo dice il nome stesso del metodo: "getAbsolutePath" che tradotto significa "Ottieni il path assoluto".

    Nota che quando crei un oggetto File, non è detto che il file esista. Io posso creare un oggetto File che punta ad un file che non esiste (perchè la classe File rappresenta l'astrazione di un file, che può esistere o meno)... quindi, quello che stampi è solo la rappresentazione di un possibile file.


    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

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    457
    scusami ,
    allora C:\eclipse\workspace\DPS\ rappresenta la directory corrente????


    DPS è il nome del mio progetto quindi C:\eclipse\workspace\DPS\ è la directory corrente del mio progetto?????????

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da Mitele
    scusami ,
    allora C:\eclipse\workspace\DPS\ rappresenta la directory corrente????


    DPS è il nome del mio progetto quindi C:\eclipse\workspace\DPS\ è la directory corrente del mio progetto?????????
    Come ti ha già detto andbin nell'altra discussione, la directory corrente non c'entra assolutamente nulla né con il progetto, né con i sorgenti, né con i compilati, né con la directory dove è installata l'applicazione.
    La directory corrente è semplicemente la directory da dove viene avviata l'applicazione.

    Devi ragionare in termini di esecuzione dell'applicazione: un'applicazione, solitamente, viene installata su un PC (che non sa nulla né di Eclipse, né di file JAVA, né del compilatore, né della JDK... non sa nulla di nulla). Ciò che viene installato sul PC è il risultato della compilazione (generalmente un file JAR o un insieme di file .class).

    Su questo, spero, siamo tutti d'accordo.

    Ora, dove viene installata questa applicazione? Verrà installata in una directory X qualunque del PC che la andrà ad eseguire. Supponiamo che questa directory sia

    C:\Programmi\TuaApplicazione

    Perfetto... dentro a quella directory c'è tutta la tua applicazione.

    Quando l'utente avvia l'applicazione, in che directory è posizionato? Questa informazione tu non la puoi sapere a priori. Potrebbe essere posiaionzto sul Desktop (C:\Documents and Settings\Utente\Desktop), oppure potrebbe essere posionato nella root (C:\), oppure ancora, all'interno della directory di sistema (C:\Windows\System32)...

    Ora, questi concetti devono esserti ben chiari:

    C:\Programmi\TuaApplicazione è la directory della tua applicazione che non ha nulla a che fare con la directory corrente (e per ottenerla ci sono diversi modi).

    La directory corrente, invece, è la directory in cui è posizionato l'utente quando avvia l'applicazione (quella che non puoi sapere a priori, che potrebbe essere il desktop, la root o quella di sistema). Questa informazione la trovi usanto System.getProperty("user.home") oppure new File(".").getAbsolutePath().


    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 © 2026 vBulletin Solutions, Inc. All rights reserved.