Visualizzazione dei risultati da 1 a 10 su 13

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    32
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Così viene cercato nella directory "corrente", che poi è quella che è corrente nel momento in cui viene avviata la JVM. E dipende appunto da come/da dove e con cosa si avvia la JVM.
    Se a monte c'è un eseguibile nativo/script/batch che è in grado di impostare la directory corrente in modo che sia giusta per l'applicazione, allora è un conto. Se invece dipende da come l'utente lancia la applicazione, allora la tua applicazione potrebbe non funzionare correttamente.
    Devo dire che non ti ho seguito molto ma stando al codice che ti ho incollato... se io deployo l'applicazione con ant e inno setup 5 quindi ottenendo un eseguibile che mi installerà nel pc la mia applicazione, qual è il percorso che bisogna dare magari in fase di coding questo? ::
    %LOCALAPPDATA%\NomeMiaApplicazione\serverDB.proper ties

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da nobo_ Visualizza il messaggio
    Devo dire che non ti ho seguito molto
    A dire il vero non c'era molto da seguire ... più che altro il concetto di directory "corrente" (che tra l'altro, in teoria, dovresti già conoscere).

    Quote Originariamente inviata da nobo_ Visualizza il messaggio
    ma stando al codice che ti ho incollato...
    se io deployo l'applicazione con ant e inno setup 5 quindi ottenendo un eseguibile che mi installerà nel pc la mia applicazione, qual è il percorso che bisogna dare magari in fase di coding questo? ::
    %LOCALAPPDATA%\NomeMiaApplicazione\serverDB.proper ties
    Inno setup non lo conosco/uso (so ovviamente cosa è) ma alla fin fine è solo uno strumento per creare degli "installer". Aiuta solo a predisporre i file durante una fase di setup ma le scelte/logiche di configurazione della applicazione spettano a te, non a questi tool!

    Se stavi pensando di mettere nel sorgente Java es.

    new FileInputStream("%LOCALAPPDATA%\\NomeMiaApplicazio ne\\serverDB.properties")

    Sappi che è sbagliato. La forma %VARIABILE% è specifica solo per i sistemi Windows, Java non ha alcuna nozione di questo e non ha nulla per espandere/risolvere questa forma.
    Se vuoi puoi prendere dall'environment la variabile LOCALAPPDATA e poi comporre tu il path. Questo sì. Ma sarebbe comunque specifico solo per i Windows. E se ti basta questo, non avrei obiezioni.
    Ultima modifica di andbin; 19-01-2016 a 22:02
    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
    Jan 2004
    Messaggi
    32
    Quote Originariamente inviata da andbin Visualizza il messaggio
    A dire il vero non c'era molto da seguire ... più che altro il concetto di directory "corrente" (che tra l'altro, in teoria, dovresti già conoscere).


    Inno setup non lo conosco/uso (so ovviamente cosa è) ma alla fin fine è solo uno strumento per creare degli "installer". Aiuta solo a predisporre i file durante una fase di setup ma le scelte/logiche di configurazione della applicazione spettano a te, non a questi tool!

    Se stavi pensando di mettere nel sorgente Java es.

    new FileInputStream("%LOCALAPPDATA%\\NomeMiaApplicazio ne\\serverDB.properties")

    Sappi che è sbagliato. La forma %VARIABILE% è specifica solo per i sistemi Windows, Java non ha alcuna nozione di questo e non ha nulla per espandere/risolvere questa forma.
    Se vuoi puoi prendere dall'environment la variabile LOCALAPPDATA e poi comporre tu il path. Questo sì. Ma sarebbe comunque specifico solo per i Windows. E se ti basta questo, non avrei obiezioni.
    So bene che non è la via migliore perché va contro la filosofia Java di essere multi piattaforma. Il codice dovrebbe essere il più possibile non legato allo specifico Sistema Operativo.
    Cmq sono contento di aver fatto il mio programma , ma c'è ancora da lavorare per scrivere codice come si deve.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da nobo_ Visualizza il messaggio
    Il codice dovrebbe essere il più possibile non legato allo specifico Sistema Operativo.
    Riguardo file di configurazione e/o preferenze utente ci sono varie possibilità, più "standard" rispetto a %LOCALAPPDATA% o roba del genere.

    C'è la directory "home" dell'utente, che si rintraccia con System.getProperty("user.home") . Tipicamente le applicazioni (sia Java e native) creano nella home dell'utente una directory specifica per la applicazione che inizia con il "." (punto). Ad esempio Eclipse crea nella home dell'utente una directory .eclipse e dentro ci mette sue configurazioni.
    Da quella directory lì in giù l'applicazione può mettere quello che gli pare (dati, file di properties, ecc...).

    Altra possibilità, tipicamente per le preferenze dell'utente, è usare la Preference API (package java.util.prefs) che è stata introdotta in Java 1.4.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    32
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Riguardo file di configurazione e/o preferenze utente ci sono varie possibilità, più "standard" rispetto a %LOCALAPPDATA% o roba del genere.

    C'è la directory "home" dell'utente, che si rintraccia con System.getProperty("user.home") . Tipicamente le applicazioni (sia Java e native) creano nella home dell'utente una directory specifica per la applicazione che inizia con il "." (punto). Ad esempio Eclipse crea nella home dell'utente una directory .eclipse e dentro ci mette sue configurazioni.
    Da quella directory lì in giù l'applicazione può mettere quello che gli pare (dati, file di properties, ecc...).

    Altra possibilità, tipicamente per le preferenze dell'utente, è usare la Preference API (package java.util.prefs) che è stata introdotta in Java 1.4.
    Intanto grazie per la disponibilità, sei un enciclopedia vivente..!!!
    Darò un occhiata, come dicevi tu in altri post , non basta un libro per imparare tutto.
    Per ogni specifica cosa c'è un oceano di informazione.
    Il passo giusto da fare è codare e risolvere i problemi che man mano arrivano perché se dovessimo imparare prima tutto e poi codare , rimarremo sempre allo stato "TEORIA" ...


    PS: il .nomecartella sa molto di sistemi unix-like poco usato da winz

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da nobo_ Visualizza il messaggio
    PS: il .nomecartella sa molto di sistemi unix-like poco usato da winz
    Sì, probabilmente l'origine è dai sistemi unix-like (non so la storia esatta a riguardo di questo, comunque) ma questo vale anche su Windows, e specialmente per tutti quei software multi-piattaforma (sia Java sia nativi).

    Nella mia cartella "home" C:\Users\Andrea ho almeno una dozzina di cartelle .qualcosa, tra cui come ho detto .eclipse (per Eclipse), poi es. .m2 (il repository locale Maven) e altri.
    Ultima modifica di andbin; 20-01-2016 a 15:29
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    32
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Sì, probabilmente l'origine è dai sistemi unix-like (non so la storia esatta a riguardo di questo, comunque) ma questo vale anche su Windows, e specialmente per tutti quei software multi-piattaforma (sia Java sia nativi).

    Nella mia cartella "home" C:\Users\Andrea ho almeno una dozzina di cartelle .qualcosa, tra cui come ho detto .eclipse (per Eclipse), poi es. .m2 (il repository locale Maven) e altri.
    Si visti, li ho anch'io... cmq esportandolo come JAR il file in questione con percorso non assuluto va inserito nella stessa cartella del JAR, poi ho provato per curiosità a vedere se si avviava anche su Linux e si è avviato java -jar myapp.jar .... ora lo provo su mac.... una figata!

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.