Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    49

    Java: Gestione errore tipo: java.io.FileNotFoundException

    Ciao a tutti
    ho il seguente problema:
    Ho realizzato una piccola applicazione con eclipse che al verificarsi di un determinato evento esegue una file audio di tipo ".wav", che risiede nella cartella "\bin\sound" dell'applicazione stessa.
    Il tutto funziona correttamente se eseguo il programma dal mio PC, perchè ovviamente quando passo al metodo che esegue il file la dir in cui il file risiede, lo trova senza problemi e lo manda in esecuzione.
    Se invece creo il jar dell'appliczione e la eseguo su un altro PC ottengo il seguente errore:

    java.io.FileNotFoundException: .... (Impossibile trovare il percorso specificato).....

    Per ovviare a qs problema ho pensato di rendere dinamico il classpath e di memorizzarne l'indirizzo in una stringa attraverso l'istruzione:
    codice:
    String pathFileAudio=System.getProperty("java.class.path") + ("\\Sound\\Allert_Connessione_1.wav");
    ma tutto continua a funzionare solo se il prg viene eseguito sul mio pc e non su altri, perchè con qs istruzione quando eseguo il prg su un altro pc, utilizza come dir: c:\documents and setting ..... "\\Sound\\Allert_Connessione_1.wav" e quindi anche in qs caso nn trova il file audio da eseguire.

    Come si fa ad inglobare il file all'interno dell'apllicazione stessa o fare cmq in modo che l'applicazione possa utilizzare il percorso giusto prescindendo dal computer su cui viene eseguita?

    Grazie
    Vbnet

  2. #2
    Ciao leggi questo thread. Devi giusto fare un adeguamento.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    49
    Ciao Vincenzo
    Innanzitutto grazie per la pronta risposta.
    Come suggerito nel post da te segnalatomi, ho inserito qs stringa di codice:
    codice:
    URL pathFileAudio=this.getClass().getResource("/Sound/Allert_Connessione_1.wav"); 							
    String pathFileAudioS=pathFileAudio.toString().substring(6,pathFileAudio.toString().length());
    per ottenere la cartella in cui risiede il mio file audio.
    Dopo aver convertito il mio Url in Stringa e memorizzato il suo valore nella var: pathFileAudioS,
    passo qs variabile al metodo della classe Audio che si occupa di eseguire il File:

    codice:
    public void PlayAudio(String pathFileAudioS) { 		
    try { 			
          soundFile = new File(pathFileAudioS); 			
          audioInputStream = AudioSystem.getAudioInputStream(soundFile); 
          audioFormat = audioInputStream.getFormat(); 			                               
          System.out.println(audioFormat);  			
          DataLine.Info dataLineInfo =new                                                                            DataLine.Info(SourceDataLine.class,audioFormat);  			
          sourceDataLine = (SourceDataLine) AudioSystem.getLine(dataLineInfo);  			
    
    }// end playAudio
    e sul mio PC il tutto continua a funzionare per il meglio, ma se compilo il prg e lo eseguo su un altro PC il file audio viene cmq ancora ricercato dall'applicazione in: "c:\ documents and setting.....

    Può essere dovuto alla conversione dell'url in stringa o altrimenti a cosa?
    Grazie ancora.
    Vbnet

  4. #4
    Originariamente inviato da Vbnet
    e sul mio PC il tutto continua a funzionare per il meglio, ma se compilo il prg e lo eseguo su un altro PC il file audio viene cmq ancora ricercato dall'applicazione in: "c:\ documents and setting.....
    Ottieni questo errore perchè quel percorso sul file system dell'altro pc non esiste. Ti conviene aggiungere la directory Sound all'interno del jar.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    49
    si infatti è quello che penso anch'io.
    ma come si fa ad aggiungere una directory direttamente nel Jar con eclipse?
    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.