Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Stampa path corrente

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    457

    Stampa path corrente

    salve ragazzi,
    come si fa a stampare il path corrente all'interno di una classe...
    classe A{

    string stampa_path()
    {
    ....ottieni path corrente
    }
    }

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    codice:
    System.out.println( new java.io.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

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    C'è anche una system-property che fornisce la directory "corrente".

    System.getProperty("user.dir")
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    457
    Grazie ,
    perchè ci vuole il punto nel costruttore new java.io.File(".")

    dalle prove che ho fatto mi stampa :
    C:\eclipse\workspace\DPS\.

    c'è un punto dopo l'ultima directory ..\DPS\. perche'?

    ho provato anche a stampare il path di un file del tipo

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

    e mi tira fuori il seguente path : C:\eclipse\workspace\DPS\stampa_data.java

    quindi se io creo dei file all'interno del mio progetto (utilizzando eclipse) e mettendoli in sottodirectory, il path dei nuovi file sarà il path dell'applicazione come sopra
    C:\eclipse\workspace\DPS\stampa_data.java
    la classe stampa java è memorizzata nella cartella in src e sotto package default.......come mai???

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Mitele
    perchè ci vuole il punto nel costruttore new java.io.File(".")

    dalle prove che ho fatto mi stampa :
    C:\eclipse\workspace\DPS\.

    c'è un punto dopo l'ultima directory ..\DPS\. perche'?
    Un path . (punto) denota la directory "corrente" mentre .. (punto punto) la directory "superiore". Questo vale in generale nei S.O.

    Originariamente inviato da Mitele
    ho provato anche a stampare il path di un file del tipo

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

    e mi tira fuori il seguente path : C:\eclipse\workspace\DPS\stampa_data.java
    Perché "risolve" la specifica "stampa_data.java" rispetto alla directory corrente.

    Originariamente inviato da Mitele
    quindi se io creo dei file all'interno del mio progetto (utilizzando eclipse) e mettendoli in sottodirectory, il path dei nuovi file sarà il path dell'applicazione come sopra
    C:\eclipse\workspace\DPS\stampa_data.java
    la classe stampa java è memorizzata nella cartella in src e sotto package default.......come mai???
    Quale sia la directory "corrente" non centra con dove sono i sorgenti. Centra la directory che è "corrente" nel momento in cui si avvia la JVM e quindi dipende da come/da dove avvii la applicazione (prompt dei comandi? altro?).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    457
    risposta di andbin
    Quale sia la directory "corrente" non centra con dove sono i sorgenti. Centra la directory che è "corrente" nel momento in cui si avvia la JVM e quindi dipende da come/da dove avvii la applicazione (prompt dei comandi? altro?).


    cosa significa?

    inoltre ho provato ad eseguire System.getProperty("user.dir"); ma non stampa niente

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da andbin
    Quale sia la directory "corrente" non centra con dove sono i sorgenti. Centra la directory che è "corrente" nel momento in cui si avvia la JVM e quindi dipende da come/da dove avvii la applicazione (prompt dei comandi? altro?).
    Esattamente... avevi chiesto la "directory corrente" e ti abbiamo dato due modi distinti per ottenerla... immaginavo che conoscessi la differenza fra directory corrente e directory dell'applicazione.


    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

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    La directory corrente è la directory in cui l'utente è posizionato quando avvia l'applicazione: non ha nulla a che vedere con la posizione dell'applicazione.

    Se io sono posizionato in "C:\Pippo" e avvio un'applicazione che risiede in "C:\Programmi\Applicazione":

    1) La directory corrente è "C:\Pippo"
    2) La directory dell'applicazione è "C:\Programmi\Applicazione"


    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

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    457
    citazione di Leleft --------------------------------------------------------------------------------
    La directory corrente è la directory in cui l'utente è posizionato quando avvia l'applicazione: non ha nulla a che vedere con la posizione dell'applicazione.

    Se io sono posizionato in "C:\Pippo" e avvio un'applicazione che risiede in "C:\Programmi\Applicazione":

    1) La directory corrente è "C:\Pippo"
    2) La directory dell'applicazione è "C:\Programmi\Applicazione"

    ------------------------------------------------------------------------

    scusami, ma io mi riferivo alla directory corrente (sotto eclipse) dove ho memorizzato il mio file...
    come ho gia' scritto sopra mi stampa la directory dell'applicazione e se io provo a stampare con l'istruzione System.out.println( new java.io.File("stampa_data.java").getAbsolutePath() ); mi stampa C:\eclipse\workspace\DPS\stampa_data.java che è la directory dell'applicazione e nn quella corrente.

    Inoltre System.getProperty("user.dir"); non mi stampa niente...
    Non riesco a capire, se potete darmi un aiuto ve ne sarei molto grato, sono un programmatore junior java e non ho una grande esperienza ancora maturata
    grazie

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Mitele
    con l'istruzione System.out.println( new java.io.File("stampa_data.java").getAbsolutePath() ); mi stampa C:\eclipse\workspace\DPS\stampa_data.java che è la directory dell'applicazione e nn quella corrente.
    Ti stampa un path che ha la directory corrente più stampa_data.java che potrebbe esistere o no .... non lo sa ... lui "risolve" solo il path rispetto alla directory corrente.

    Originariamente inviato da Mitele
    Inoltre System.getProperty("user.dir"); non mi stampa niente...
    Ma perché restituisce solo un String!! Mica stampa qualcosa. Come un ipotetico oggetto Persona con persona.getNome() ti restituisce un String ... mica lo stampa.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.