Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    34

    Recupero del path di una classe

    Salve, è possibile recuperare il percorso di una classe (con relativo package ecc..) tramite un apposito metodo?

    Es:

    MiaClasse.class.getName().getFile() ???

    Così ovviamente non è corretto ma esiste qualcosa di simile?

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

    Re: Recupero del path di una classe

    Originariamente inviato da elly0909
    Salve, è possibile recuperare il percorso di una classe (con relativo package ecc..) tramite un apposito metodo?

    Es:

    MiaClasse.class.getName().getFile() ???

    Così ovviamente non è corretto ma esiste qualcosa di simile?
    La risposta è "ni". (si e no)

    Nel senso che innanzitutto, se ci pensi, un file .class può essere "sfuso" oppure contenuto in un jar ed entrambi possono arrivare dal file-system oppure da un URL sulla rete. Dipende da come/dove sono stati caricati ...

    Prova questo:
    codice:
    import java.net.*;
    
    public class Prova {
        public static void main(String[] args) {
            URL url = Prova.class.getResource("");
            System.out.println(url);
        }
    }
    L'URL che stampa è il path della classe Prova, senza il nome Prova.class.


    E comunque forse è meglio se spieghi il motivo di tale richiesta.
    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 2009
    Messaggi
    34
    Ho poi risolto.. Ho recuperato il path facendo
    <CODE>
    URL url = new URL("file://" + Prova.class.getResource(".").getFile());
    <CODE/>

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da elly0909
    Ho poi risolto.. Ho recuperato il path facendo
    codice:
    URL url = new URL("file://" + Prova.class.getResource(".").getFile());
    Caotico e inutile .... getResouce ritorna un URL (se su file system file://...), con getFile() prendi il path, lo appendi di nuovo a file:// e ricrei un URL.
    Non è forse un giretto inutile?
    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 2009
    Messaggi
    34
    quindi proponi di utilizzare solo getResource() ??

    Ho già provato solo con questo ma non mi ritorna tutto il path completo!

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da elly0909
    quindi proponi di utilizzare solo getResource() ??

    Ho già provato solo con questo ma non mi ritorna tutto il path completo!
    codice:
    URL urlClasse = TuaClasse.class.getResource(".");
    File dirClasse = new File(urlClasse.toURI());
    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 2009
    Messaggi
    34
    No, nel mio caso anche provando non funziona.........
    Devo poi passare l'Url in un JEditorPane e come dici tu non mi funziona.

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da elly0909
    No, nel mio caso anche provando non funziona.........
    Devo poi passare l'Url in un JEditorPane e come dici tu non mi funziona.
    Aspetta .... potevi dirlo prima!!!! .... devi far leggere a JEditorPane un documento caricato come "risorsa"???

    Allora non ti serve "sapere" il path della classe!!! Cioè la domanda era posta molto male fin dall'inizio!

    Semplicemente usa getResource() su un Class, ricordandoti che se la specifica non inizia con "/" il nome è riferito al package della classe che hai usato. Tutto qui.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    34
    Infatti, provando poi questa metodologia funziona!
    Cmq grazie x le risposte.

    Ciao

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.