Visualizzazione dei risultati da 1 a 9 su 9

Discussione: directory [java]

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2012
    residenza
    matrix
    Messaggi
    56

    directory [java]

    Stavo programmando e tutto il programma funziona, il problema è che va solo su windows appunto perché quando creo un oggetto Media gli passo la seguente directory "file:///C://2.mp4" ed il video viene letto solo se presente nel disco C, quindi ho creato una cartella dentro il progetto di netBeans ed ho inserito il video li, quindi la directory dovrebbe essere:src/video/mp4, ma non funziona, qualcuno sa come aiutarmi?


    codice:
    /* il file è presente sia nella cartella video dentro netBeans
       che nel disco C quindi entrambi funzionano ma se faccio
       partire il programma su un altro computer questo non parte
       perché la directory non esiste */
    
    final Media media2 = new Media("file:///C://Users/Utente/Documents/NetBeansProjects/Miriam/src/video/2.mp4");
    final Media media3 = new Media("file:///C://3.mp4");

    Quindi vorrei sapere come scrivere la directory in modo che funzioni su qualsiasi OS
    Ultima modifica di LeleFT; 09-07-2014 a 17:18 Motivo: Modificata formattazione codice

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Java ha il suo sub-forum dedicato, dove sposterò la discussione.
    Per il futuro, prima di incollare il codice (che hai preso da un editor con formattazione), incollalo su un editor senza formattazione (come il Blocco Note) e poi ricopialo da lì... altrimenti la formattazione dell'editor fa a botte con l'HTML generato dal forum e il codice non è leggibile.

    Sistemo tutto io.


    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,254
    Quote Originariamente inviata da astolfo96 Visualizza il messaggio
    quando creo un oggetto Media gli passo la seguente directory "file:///C://2.mp4" ed il video viene letto solo se presente nel disco C, quindi ho creato una cartella dentro il progetto di netBeans ed ho inserito il video li, quindi la directory dovrebbe essere:src/video/mp4, ma non funziona

    Quindi vorrei sapere come scrivere la directory in modo che funzioni su qualsiasi OS
    Innanzitutto mettere path "assoluti" sul file-system (sia in forma di path normale che di URL file: ) dentro il sorgente non va praticamente mai bene ... salvo per qualche prova fatta al volo o per far veloce e/o senza troppe pretese.

    Non va nemmeno bene mettere un path, anche relativo, con dentro qualcosa riferito alla directory dei sorgenti (es. "src/......") perché quando la tua applicazione girerà per conto suo fuori dal IDE o comunque su un'altra macchina non di sviluppo, si presume non abbia più nulla a che fare con i sorgenti.

    Quello che devi valutare tu è come determinare il percorso:
    - deve poterlo scegliere l'utente a runtime?
    - deve essere implicitamente ricercato nella directory "corrente" (o relativo alla directory corrente)?
    - deve essere cercato "lungo il classpath"?
    - deve poter essere configurato a priori in un qualche file di configurazione?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2012
    residenza
    matrix
    Messaggi
    56
    per la directory ho risolto usando il codice:


    codice:
    final Media media1 = new Media(""+getClass().getResource("/video/1.mp4"));

    ma provandolo su un altro computer mi da sempre l'errore del video non trovato e poi avevo inserito un bottone play/pause che funzionava ma se ora lo utilizzo dopo un paio di clic il video rimane in pausa e non parte più, cosa che non succedeva prima con il percorso assoluto


    codice:
    final VBox perPlay = new VBox();
    Button play = new Button();
    play.setScaleX(2);
    play.setScaleY(2);
    play.setText("> ||");
    perPlay.getChildren().add(play);//other
    
    codeplay.setOnMousePressed(new EventHandler() {
                @Override
                public void handle(MouseEvent me) {
                    if (going) {
                        player.pause();
                        going = false;
                    } else {
                        player.play();
                        going = true;
                    }
                }
     });

    per il percorso avrei pensato di configurarlo a priori qualcuno mi consiglia come fare?
    Ultima modifica di LeleFT; 10-07-2014 a 12:31 Motivo: Risistemato il codice

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2012
    residenza
    matrix
    Messaggi
    56
    per la directory ho risolto usando il codice:
    codice:
            final Media media1 = new Media("" + getClass().getResource("/video/1.mp4"));
    ma provandolo su un altro computer mi da sempre l'errore del video non trovato e poi avevo inserito un bottone play/pause che funzionava ma se ora lo utilizzo dopo un paio di clic il video rimane in pausa e non parte più, cosa che non succedeva prima con il percorso assoluto
    codice:
            final VBox perPlay = new VBox();        Button play = new Button();        play.setScaleX(2);        play.setScaleY(2);        play.setText("> ||");        perPlay.getChildren().add(play);//other code        play.setOnMousePressed(new EventHandler() {            @Override            public void handle(MouseEvent me) {                if (going) {                    player.pause();                    going = false;                } else {                    player.play();                    going = true;                }            }        });
    per il percorso avrei pensato di configurarlo a priori qualcuno mi consiglia come fare?

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2012
    residenza
    matrix
    Messaggi
    56
    scusate ho sbagliato ancora a postare il codice, l'ho copiato su blocco note e salvato ma rimane uguale se metto

  7. #7
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Ma incolli qui lo stesso codice che hai incollato la prima volta o nel frattempo fai di nuovo copia?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2012
    residenza
    matrix
    Messaggi
    56
    copio nel blocco note, prendo dal blocco note il nuovo codice lo seleziono e lo copio

  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Ma nel blocco note lo vedi bene? Perchè le copie dal blocco note funzionano (è quello che faccio io per sistemare).
    Perchè se copio il tuo codice nel blocco note (per sistemarlo) a me va tutto su una riga... quindi già si capisce che non può andare bene.


    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

  10. #10
    Non conosco l'oggetto Media e che tipo di costruttori ha però, per recuperare lo stream di un file all'interno di un jar puoi utilizzare la seguente linea di codice:
    InputStream is=this.getClass().getClassLoader().getResourceAsS tream("video/mp4/2.mp4");

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 © 2024 vBulletin Solutions, Inc. All rights reserved.