Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Path Indipendente Da Piattaforma

    semplicemente devo caricare un file (testuale) nel quale sono contenuti alcuni settings della mia applicazione!!

    come faccio ad inserire un percorso indipendente dalla piattaforma in modo da non avere problemi con il trasferimento su linux?

    ho letto qualcosa su FILE SEPARATOR ma sinceramente ho capito ben poco!

    grazie

    PS: il problema del percorso mi ritorna anche nell'installazione di mysql! ci sono particolari problemi in questo caso?

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    68
    Potresti all'inizio del tuo programma verificare il file separator in questo modo:
    codice:
    String sep = System.getProperty("file.separator");
    ed in base a quello che ottieni costruire il path.

  3. #3
    ok grazie per la risposta!! ma la situazione cambia ancora dato che il percorso base di WINDOWS è c:/

    in linux ci sarà qualcosa di diverso!!

    altre soluzioni??

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    68
    Cambiando la key, ovvero la stringa, che passi come argomento al metodo setProperty puoi stabilire su che OS ti trovi e di conseguenza creare il giusto path. Alla fin fine credo ti interessi gestire il path in ambiente UNIX o Windows quindi ti trovi a dover gestire solo due politiche diverse di costruzione del path. La key per ottenere il nome del OS è os.name tuttavia la lista completa la puoi trovare qui.

    Altrimenti un altro modo potrebbe essere quello di ottenere da un oggetto di tipo File l'url assoluto della directory corrente e studiandolo capire come implementare il tuo path. Tuttavia ritengo che la prima soluzione sia la migliore.

    EDIT: Mi è appena venuto in mente che è più che sufficiente conoscere il file separator per determinare in che ambiente ti trovi, in quanto Windows e UNIX hanno rispettivamente "\" e "/", quindi ottenere il nome dell'OS è ridondante ai tuoi fini.

  5. #5
    Originariamente inviato da onesim29984
    ok grazie per la risposta!! ma la situazione cambia ancora dato che il percorso base di WINDOWS è c:/

    in linux ci sarà qualcosa di diverso!!

    altre soluzioni??
    Quoto quello che ti ha già detto M@P e aggiungo che che puoi conoscere il separatore e il separatore di path con i campi statici della classe File.
    Se il tuo problema è capire la root del sistema, puoi ricavartela utilizzando la classe File, ad esempio, e il metodo getParentFile:

    codice:
    import java.io.*;
    
    public class Test
    {
    	public static void main(String[] args)
    		throws IOException 
    	{
    		File x = new File(new File(".").getCanonicalPath());
    		File y = null;
    		System.out.println("Start: " + x.getCanonicalPath());
    	
    		while( (x = x.getParentFile()) != null)
    		{
    			//System.out.println(x.getCanonicalPath());
    			y = x;
    		}
    
    		System.out.println("Root: " + y.getCanonicalPath());
    	}
    }

  6. #6
    grazie! si ho capito! con il file.separator sono riuscito a settare i separatori!!

    ma in windows c'è C:

    in linux ci sarà un'altra shell o root o come si chiama! non so se mi sono spiegato!

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    68
    In Linux la root directory è semplicemente "/". Per maggiori informazioni sui path dei principali OS guarda qui.

  8. #8
    Originariamente inviato da onesim29984
    grazie! si ho capito! con il file.separator sono riuscito a settare i separatori!!

    ma in windows c'è C:

    in linux ci sarà un'altra shell o root o come si chiama! non so se mi sono spiegato!
    Scusami ma conoscendo la root directory utilizzando, ad esempio, il codice che ho postato, e utilizzando le informazioni che ti ha dato M@P, che problema hai?

  9. #9
    grazie ragazzi!!

    si antotan non ci crederai ma non avevo neanche letto la tua risp!!

    grazie proverò il codice domani e vi farò sapere!! grazieee

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.