Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di pireda
    Registrato dal
    Jul 2001
    Messaggi
    654

    [JAVA] getAbsolutePath() Ho trovato un nuovo bug di Java?

    Ho un JFileChooser impostato per lo sfogliamento delle sole directory. Selezionando una directory qualunque e premendo il pulsante di approvazione (o facendo doppio-click), ho notato che con la chiamata al metodo [B]getAbsolutePath()[B] mi viene restituito il percorso assoluto della directory di livello superiore a quella selezionata ed è praticamente impossibile ottenere il percorso corretto. Sto usando il metodo sbagliato oppure ho scoperto un errore nella classe del JFileChooser?
    Maddalena... Perché proprio Iacchetti!...

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Se ho capito bene tu stai cercando di ottenere il percorso assoluto di una directory... se è così è perfettamente lecito che ti restituisca il path della directory superiore, in quanto getAbsolutePath() è un metodo della classe File, quindi se la directory viene vista come file, il persorso assoluto è tutto il percorso meno il nome del file stesso.

    Mi spiego: il path assoluto del file C:\Pippo\MioFile.txt è C:\Pippo\

    Quindi è perfettamente lecito che il path assoluto della directory C:\Pippo\MiaDirectory\ sia C:\Pippo\ (ossia la directory superiore!)

    Spero di non sbagliarmi.

    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 pireda
    Registrato dal
    Jul 2001
    Messaggi
    654
    Ok, probabilmente è come dici tu. Ma non pensi che sia una grossa mancanza il fatto che non ci sia un metodo in grado di restituirti il percorso completo? Secondo me è un controsenso che il JFileChooser può essere impostato come selettore di sole directory ma non è possibile recuperarne la selezione precisa!

    Ti spiego il mio prblema più nel dettaglio così magari riesci a darmi una dritta su come risolverlo:
    Ho un'applicazioncina che permette di effettuare alcune operazioni con i files. Ho messo un menu "Preferenze" dal quale l'utente dovrebbe potersi impostare i percorsi predefiniti di apertura e salvataggio files, in modo che quando selezioni le voci "Apri" o "Salva" dal menù files si trovi la finestra di selezione file posizionata sul punto desiderato. Il problema sta proprio nel recuperare il percorso desiderato! Con il metodo getAbsolutePath() riesco ad ottenere quello superiore di un livello...
    Maddalena... Perché proprio Iacchetti!...

  4. #4
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    getAbsolutePath ritorna tutto il path compreso il nome del file
    controlla il codice

  5. #5
    Utente di HTML.it L'avatar di pireda
    Registrato dal
    Jul 2001
    Messaggi
    654
    E cosa devo controllare! Più che farmi stampare a schermo il risultato del metodo e vedere che mi esclude l'ultima directory cosa posso fare???
    Maddalena... Perché proprio Iacchetti!...

  6. #6
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    se provi
    File f = new File("/dir/file");
    System.out.println(f.getAbsolutePath());
    stampa /dir/file

  7. #7
    Utente di HTML.it L'avatar di pireda
    Registrato dal
    Jul 2001
    Messaggi
    654
    E con il JFileChooser come posso fare ad ottenere tutto il percorso completo se lo ho impostato in
    setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY )?
    Maddalena... Perché proprio Iacchetti!...

  8. #8
    Utente di HTML.it L'avatar di pireda
    Registrato dal
    Jul 2001
    Messaggi
    654
    Trovato
    Per ottenere il percorso completo:
    nomeJFC.getCurrentDirectory().getAbsolutePath() + File.separator + fc.getSelectedFile().getName()

    :adhone:
    Maddalena... Perché proprio Iacchetti!...

  9. #9
    Utente di HTML.it L'avatar di pireda
    Registrato dal
    Jul 2001
    Messaggi
    654
    ...e questo perché la directory selezionata dal JFileChooser viene vista come un normale file...
    Maddalena... Perché proprio Iacchetti!...

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.