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

    creare file .dat con Linux Ubuntu

    Ho creato un'applicazione java che su Windows funziona correttamente.
    Su Ubuntu invece mi crea qualche problema. Il programma va a creare un file .dat in una cartella fuori dal jar, chiamata avvisi. Solo che viene lanciata una IOException che dice: avvisi/avvisi.dat (nessun file o directory)
    L'istruzione di creazione/scrittura è questa:

    Codice PHP:
    try{      
          
    ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(path));
          
    out.writeObject(new ListaAvvisi());//scrive tutto l'oggetto nel ObjectOutputStream
          
    out.close();
        }
         catch(
    IOException e){
    javax.swing.JOptionPane.showMessageDialog(nulle.getMessage(),"Attenzione",javax.swing.JOptionPane.ERROR_MESSAGE);
                } 
    e la variabile path è inizializzata così:

    Codice PHP:
    String path="avvisi/avvisi.dat"
    I miei sospetti sono:
    1. su Ubuntu il percorso del file dev'essere segnato diversamente
    2. ubuntu non supporta i file .dat.... e quindi che estensione potrei usare per salvare un oggetto di java?

    Ripeto: su Windows funziona!

    Grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: creare file .dat con Linux Ubuntu

    Originariamente inviato da scrittore80
    e la variabile path è inizializzata così:

    Codice PHP:
    String path="avvisi/avvisi.dat"
    Il path è "relativo" .... relativo alla directory corrente. Quale è la directory corrente nel momento in cui avvii l'applicazione?? Risponditi a questa domanda e hai capito la questione.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3

    Re: Re: creare file .dat con Linux Ubuntu

    Originariamente inviato da andbin
    Il path è "relativo" .... relativo alla directory corrente. Quale è la directory corrente nel momento in cui avvii l'applicazione??
    la directory corrente è quella che contiene il file .jar no? Ti faccio l'albero se riesco

    cartella "qualsiasi" contiene: "eseguibile.jar" e la cartella "avvisi"
    cartella "avvisi" dovrebbe contenere "avvisi.dat"



    Ma ripeto che su Windows funziona, è su Ubuntu che non va... Il concetto di cartella corrente non è lo stesso?

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Re: Re: Re: creare file .dat con Linux Ubuntu

    Originariamente inviato da scrittore80
    la directory corrente è quella che contiene il file .jar no?
    E chi lo dice?

    Io posso avere un file .jar che risiede nella directory /usr/miojar/

    Ma per avviarlo posso seguire infinite vie:

    codice:
    // Sono posizionato in /home/mionome/ (la directory corrente è /home/mionome/)
    $ java -jar /usr/miojar/nomejar.jar
    
    // Sono posizionato in /etc/samba/ (la directory corrente è /etc/samba/)
    $ java -jar /usr/miojar/nomejar.jar
    E via dicendo... ora, qual è la directory corrente quando avvii la tua applicazione?

    Dato il path relativo, l'applicazione cerca di creare un file all'interno della directory "avvisi" che si trova nella directory corrente.


    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

  5. #5
    ma io so per certo che il file non è stato spostato, si trova nella cartella che contiene la cartella avvisi e lì dentro deve creare, leggere, scrivere il file.

    E che diamine su Windows funziona

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da scrittore80
    ma io so per certo che il file non è stato spostato, si trova nella cartella che contiene la cartella avvisi e lì dentro deve creare, leggere, scrivere il file.
    Allora né io né LeleFT ci siamo spiegati a sufficienza .... Quale è la tua directory corrente? Sai almeno individuarla??? Se sai quale è, lì sotto c'è una directory 'avvisi' ovviamente scrivibile?
    La questione è tutta qui.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da scrittore80
    ma io so per certo che il file non è stato spostato, si trova nella cartella che contiene la cartella avvisi e lì dentro deve creare, leggere, scrivere il file.
    E mi spieghi, anche, chi ha mai parlato di spostare il file??
    Il file è sempre lì, al suo posto in /usr/miojar/ ...

    Originariamente inviato da scrittore80
    E che diamine su Windows funziona
    Evidentemente Windows è configurato per far partire i JAR dalla directory in cui si trovano.
    Non sempre le "semplificazioni" Microsoft servono effettivamente a semplificare la vita...


    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
    Innanzitutto vi ringrazio per gli aiuti che mi state dando

    Originariamente inviato da LeleFT
    Evidentemente Windows è configurato per far partire i JAR dalla directory in cui si trovano.
    Credo che il problema sia tutto lì allora.... Io ero convinto che anche con Linux funzionasse così, che la cartella corrente, quella da cui parte, fosse quella dove è salvato il file. Se non è così, allora da dove parte scusate?

  9. #9
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Se non è così, allora da dove parte scusate?
    Il jar lo hai fatto tu, immagino. E puoi anche rifarlo spero.
    Che ne dici di cercare su google le parole
    java directory corrente ?
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da scrittore80
    Se non è così, allora da dove parte scusate?
    Non hai ancora spiegato come lo fai partire! Da un prompt dei comandi? Da un file manager in ambiente grafico (es. KDE)? Da uno script della shell?
    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.