Mostra notizie nelle discussioni
  • Avatar
    ☺
    Scritto da
    gengiva
    Utente privileggiato
    il 2013-01-07 15:01:41.0 alle 2013-01-07 15:01:41.0
    Trollate totali: 9100
    [java] ma cribbio!
    sto esportando un'applicazione da eclipse per provarla su mac e su windows.

    ho cambiato le stringhe contenenti l'url dei file che deve caricare lasciando solo "nomeFile.jpg" così da non avere problemi tra i due OS che usano slash o backslash per i percorsi, quindi ho messo i documenti che mi servivano nella stessa directory del jar esportato.

    su mac non c'è nessun problema, tutto va come deve andare

    su windows, dopo aver sistemato librerie e cazzi vari che non riconosceva, mi dice che non trova due file.
    non capisco come sia possibile, visto che i file sono parecchi e li carica tutti, tranne quei due.

    per le immagini uso
    img = ImageIO.read(new File(sorcio));
    e tutto fila liscio.

    per i file incriminati

    File vsF = new File(sorcioVert);
    reader = new BufferedReader(new FileReader(vsF));


    l'oggetto File vsF l'ho creato dopo, perché prima mettevo direttamente l'URL come argomento di FileReader, ma niente..

    sto iniziando a produrre bava verdastra dalla bocca.. A bocca storta
    Cercatelo con Google, ritardato! ©
    • Avatar
      ☺
      Scritto da
      il 2013-01-07 15:07:40.0 alle 2013-01-07 15:07:40.0
      Trollate totali: 42885
      Re: [java] ma cribbio!
      Scritto da: gengiva

      >
      File vsF = new File(sorcioVert);
      > 


      vsF.exists();
      


      Newbie, inesperto

      Bonus: Slash&Backslash http://docs.oracle.com/javase/1.4.2/docs/api/java/...
      `"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
      • Avatar
        ☺
        Scritto da
        altg
        utente che non utiene
        il 2013-01-07 15:16:09.0 alle 2013-01-07 15:16:09.0
        Trollate totali: 11540
        Re: [java] ma cribbio!
        > >
        File vsF = new File(sorcioVert);
        > > 

        >
        >
        > vsF.exists();
        > 

        >
        > Newbie, inesperto
        >
        > Bonus: Slash&Backslash http://docs.oracle.com/javase/1.4.2/docs/api/java/...

        L.in.oleum ha una sintassi universale per i percorsi agli oggetti del filesystem, ed e` la virtual machine a tradurlo nella sintassi del sistema-ospite. Java no? Imbarazzato
        • Avatar
          ☺
          Scritto da
          il 2013-01-07 15:32:24.0 alle 2013-01-07 15:32:24.0
          Trollate totali: 42885
          Re: [java] ma cribbio!
          Scritto da: altg

          > L.in.oleum ha una sintassi universale per i percorsi agli oggetti del filesystem, ed e` la virtual machine a tradurlo nella sintassi del sistema-ospite.

          E come fai con la sintassi brain-damaged di Windows che pretende un "C:" o un "D:" ?

          > Java no? Imbarazzato

          Ma sai che credo che se vai via getResourceAsStream allora puoi usare "/" anche con Windows ?
          `"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
          • Avatar
            ☺
            Scritto da
            altg
            utente che non utiene
            il 2013-01-07 15:42:01.0 alle 2013-01-07 15:42:01.0
            Trollate totali: 11540
            Re: [java] ma cribbio!
            > > L.in.oleum ha una sintassi universale per i percorsi agli oggetti del filesystem, ed e` la virtual machine a tradurlo nella sintassi del sistema-ospite.
            >
            > E come fai con la sintassi brain-damaged di Windows che pretende un "C:" o un "D:" ?

            Riporta tutto a un filesystem unix-like e piazza C e D nella root.

            c:\users\alex\blah.txt -> /c/users/alex/blah.txt

            Ha anche una sintassi per i nomi dei block devices.

            \\.\PhysicalDrive0 -> MMD0

            > > Java no? Imbarazzato
            >
            > Ma sai che credo che se vai via getResourceAsStream allora puoi usare "/" anche con Windows ?

            I separatori mi sa che siano diventati accettabili entrambi dai tempi di Windows XP, ma potrei sbagliarmi. Ad oggi, se usi barre dritte o rovescie, dove sei sei, funziona lo stesso.
            • Avatar
              ☺
              Scritto da
              il 2013-01-07 16:13:33.0 alle 2013-01-07 16:13:33.0
              Trollate totali: 42885
              Re: [java] ma cribbio!
              Scritto da: altg

              > > E come fai con la sintassi brain-damaged di Windows che pretende un "C:" o un "D:" ?
              >
              > Riporta tutto a un filesystem unix-like e piazza C e D nella root.
              >
              > c:\users\alex\blah.txt -> /c/users/alex/blah.txt

              Ancora meglio di cygwin che usa /cygdrive come root di tutto (/cygdrive/c/users/...")

              > > > Java no? Imbarazzato
              > >
              > > Ma sai che credo che se vai via getResourceAsStream allora puoi usare "/" anche con Windows ?
              >
              > I separatori mi sa che siano diventati accettabili entrambi dai tempi di Windows XP, ma potrei sbagliarmi.

              L'ho sentito dire anche io, ma da "prompt di ms-dos" non funziona Triste
              `"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
          • Avatar
            ☺
            Scritto da
            il 2013-01-07 16:31:17.0 alle 2013-01-07 16:31:17.0
            Trollate totali: 2001
            Re: [java] ma cribbio!
            Scritto da: Giambo
            > E come fai con la sintassi brain-damaged di Windows che pretende un "C:" o un "D:" ?

            In realtà non è colpa di Windows.
            All'epoca dei Z80 si era diffuso il SO CP/M (del fondatore della Digital Research) che era di fatto il SO standard per i sistemi a 8 bit che andassero al di là del BASIC. All'epoca aveva senso ragionare "per dischi" anche perché le directory ancora non esistevano (che te ne facevi su un HD da 1-10 MByte?).

            Quando IBM volle introdurre l'architettura x86 (a 16 bit) aspettò che la Digital Research sviluppasse un CP/M per x86 ma la Digital Research tardava a renderlo disponibile (non raggiunse un accordo soddisfacente con l'IBM) e questo fu probabilmente il più grosso errore strategico della Digital Research (che se non sbaglio poi sviluppò il CP/M-86 ma era già troppo tardi perché il DOS era oramai diventato lo standard di fatto sui 16bit).

            Qui Bill Gates ebbe il "culo" di sapere che l'IBM non aveva ancora un SO¹ per i suoi computer e che un tizio (Paterson della Seattle Computer Products) aveva sviluppato un SO simile al CP/M chiamato QDOS (Quick and Dirty Operative System) che a sua volta era ispirato ad un progetto mai completato della Microsoft chiamato M-DOS (per sistemi a 8 bit, solo che era troppo grande per starci nei 64K di RAM che limitavano le architetture ad 8 bit)... perciò acquistò il QDOS (che nel frattempo aveva cambiato nome in 86-DOS), rinominandolo MS-DOS e siccome era stato sviluppato per essere simile al CP/M (d'altra parte era una cosa sensata cercare di assomigliare a quello che la gente era abituata ad usare, inoltre questo semplificava il porting dei numerosi programmi per CP/M da Z80 a x86) ne ereditava anche la struttura a dischi e partizioni (oltre che svariate strutture come il File Control Block, la struttura degli eseguibili, ecc) con alcuni migioramenti fra cui il concetto di FAT ereditato invece da M-DOS che era un approccio più efficiente alla gestione dei dischi.

            MS-DOS 1 infatti come il CP/M non aveva il concetto di directory. Gli HD dell'epoca erano grandi al massimo 8-10MByte e se proprio volevi avere un'organizzazione a "cartelle" potevi comunque usare fino a 10 partizioni (su CP/M) quindi non era una "feature" di cui la gente sentisse molto la mancanza.

            Ovviamente non è che Microsoft trovò tutta la pappa pronta. Doveva ancora integrare 86-DOS con lo standard BIOS sviluppato da IBM, risolvere parecchi problemi, correggere bug, ecc.

            Con MS-DOS 2 venne finalmente anche il concetto di directory... ma qui si presentò subito un problema. Microsoft voleva ereditare la struttura dai sistemi UNIX che all'epoca erano usati solo sui mainframe... purtroppo unix usava come separatore la barra "/" che MS-DOS aveva invece usato per le opzioni di linea di comando. Per non rompere la compatibilità con MS-DOS 1 allora Microsoft decise di adottare l'altra barra "\" come separatore dei percorsi ed ecco perché anche oggi su Windows ti ritrovi con lettere di unità e separatori di percorso "sbagliati".

            Se ti interessa parecchi altri dettagli puoi trovarli su "The MS-DOS Encyclopedia" di Microsoft Press (che mi pare non sia più in stampa da parecchio).

            Nota 1 - In realtà fu la Microsoft a suggerire all'IBM di aspettare il CP/M-86 per i suoi sistemi perché anche se era vero che il suo BASIC era perfettamente in grado di funzionare in modo "stand-alone" senza SO le richieste di IBM andavano oltre il solo Basic (volevano infatti anche il Pascal, il Fortran, il COBOL, ecc) che però richiedevano la presenza di un SO. Anzi, fu proprio la Microsoft a suggerire all'IBM di non sviluppare l'ennesimo computer a 8 bit ma "buttarsi" nel mondo dei 16 bit. Quando Digital Research e IBM non raggiunsero l'accordo Microsoft, pur di non perdere il succoso accordo per lo sviluppo del BASIC e di varie utility e linguaggi per l'IBM, decise di prendere in mano anche lo sviluppo del SO.
          • Avatar
            ☺
            Scritto da
            ::1
            il 2013-01-07 17:41:04.0 alle 2013-01-07 17:41:04.0
            Trollate totali: 12321
            Re: [java] ma cribbio!
            Scritto da: Giambo
            > Scritto da: altg
            >
            > > L.in.oleum ha una sintassi universale per i percorsi agli oggetti del filesystem, ed e` la virtual machine a tradurlo nella sintassi del sistema-ospite.
            >
            > E come fai con la sintassi brain-damaged di Windows che pretende un "C:" o un "D:" ?
            >
            > > Java no? Imbarazzato
            >
            > Ma sai che credo che se vai via getResourceAsStream allora puoi usare "/" anche con Windows ?

            getResourceAsStream passa dal classloader, non carica dal filesystem (a meno che tu non stia su eclipse o con una cartella di classi)
            Young professional woman and busy mom.
    • Avatar
      ☺
      Scritto da
      avvelentani
      Cubicolario
      il 2013-01-07 15:09:14.0 alle 2013-01-07 15:09:14.0
      Trollate totali: 18184
      Re: [java] ma cribbio!
      Scritto da: gengiva
      > sto esportando un'applicazione da eclipse per provarla su mac e su windows.
      >
      > ho cambiato le stringhe contenenti l'url dei file che deve caricare lasciando solo "nomeFile.jpg" così da non avere problemi tra i due OS che usano slash o backslash

      Java su windows puo` usare entrambi i tipi di slash. AFAIK non dipende da java ma proprio dalle API di windows, ma mi potrei sbagliare.

      > su windows, dopo aver sistemato librerie e cazzi vari che non riconosceva, mi dice che non trova due file.

      Controlla qual'e` la working directory stampando (new File("."))

      > non capisco come sia possibile, visto che i file sono parecchi e li carica tutti, tranne quei due.
      >
      > per le immagini uso
      > img = ImageIO.read(new File(sorcio));
      > e tutto fila liscio.
      >
      > per i file incriminati
      >
      >
      File vsF = new File(sorcioVert);
      > reader = new BufferedReader(new FileReader(vsF));

      >
      > l'oggetto File vsF l'ho creato dopo, perché prima mettevo direttamente l'URL come argomento di FileReader, ma niente..
      >
      > sto iniziando a produrre bava verdastra dalla bocca.. A bocca storta

      Mi pare strano che uno funzioni e l'altro no.
      I think happiness is love
      - Vladimir Putin
      • Avatar
        ☺
        Scritto da
        gengiva
        Utente privileggiato
        il 2013-01-07 15:19:12.0 alle 2013-01-07 15:19:12.0
        Trollate totali: 9100
        Re: [java] ma cribbio!
        Scritto da: avvelentani
        > Scritto da: gengiva
        > > sto esportando un'applicazione da eclipse per provarla su mac e su windows.
        > >
        > > ho cambiato le stringhe contenenti l'url dei file che deve caricare lasciando solo "nomeFile.jpg" così da non avere problemi tra i due OS che usano slash o backslash
        >
        > Java su windows puo` usare entrambi i tipi di slash. AFAIK non dipende da java ma proprio dalle API di windows, ma mi potrei sbagliare.

        ah bo, io per non sbagliare ho messo tutto nella stessa directory così da evitare i separatori Anonimo

        > > su windows, dopo aver sistemato librerie e cazzi vari che non riconosceva, mi dice che non trova due file.
        >
        > Controlla qual'e` la working directory stampando (new File("."))
        >
        > > non capisco come sia possibile, visto che i file sono parecchi e li carica tutti, tranne quei due.
        > >
        > > per le immagini uso
        > > img = ImageIO.read(new File(sorcio));
        > > e tutto fila liscio.
        > >
        > > per i file incriminati
        > >
        > >
        File vsF = new File(sorcioVert);
        > > reader = new BufferedReader(new FileReader(vsF));

        > >
        > > l'oggetto File vsF l'ho creato dopo, perché prima mettevo direttamente l'URL come argomento di FileReader, ma niente..
        > >
        > > sto iniziando a produrre bava verdastra dalla bocca.. A bocca storta
        >
        > Mi pare strano che uno funzioni e l'altro no.

        eppur si muove.. anzi no, non si muove una bega A bocca storta
        Cercatelo con Google, ritardato! ©
        • Avatar
          ☺
          Scritto da
          altg
          utente che non utiene
          il 2013-01-07 15:23:59.0 alle 2013-01-07 15:23:59.0
          Trollate totali: 11540
          Re: [java] ma cribbio!
          > > > sto esportando un'applicazione da eclipse per provarla su mac e su windows.
          > > >
          > > > ho cambiato le stringhe contenenti l'url dei file che deve caricare lasciando solo "nomeFile.jpg" così da non avere problemi tra i due OS che usano slash o backslash
          > >
          > > Java su windows puo` usare entrambi i tipi di slash. AFAIK non dipende da java ma proprio dalle API di windows, ma mi potrei sbagliare.
          >
          > ah bo, io per non sbagliare ho messo tutto nella stessa directory così da evitare i separatori Anonimo
          >
          > > > su windows, dopo aver sistemato librerie e cazzi vari che non riconosceva, mi dice che non trova due file.
          > >
          > > Controlla qual'e` la working directory stampando (new File("."))
          > >
          > > > non capisco come sia possibile, visto che i file sono parecchi e li carica tutti, tranne quei due.
          > > >
          > > > per le immagini uso
          > > > img = ImageIO.read(new File(sorcio));
          > > > e tutto fila liscio.
          > > >
          > > > per i file incriminati
          > > >
          > > >
          File vsF = new File(sorcioVert);
          > > > reader = new BufferedReader(new FileReader(vsF));

          > > >
          > > > l'oggetto File vsF l'ho creato dopo, perché prima mettevo direttamente l'URL come argomento di FileReader, ma niente..
          > > >
          > > > sto iniziando a produrre bava verdastra dalla bocca.. A bocca storta
          > >
          > > Mi pare strano che uno funzioni e l'altro no.
          >
          > eppur si muove.. anzi no, non si muove una bega A bocca storta

          Non e` che quel coglione di windoze ha impegnato i file in qualche sua strana sega mentale e ora si rifiuta di aprirli? Se gli chiedi di aprirli in qualche applicazione che ti dice? Newbie, inesperto

          A volte explorer lo fa, specie quando l'utente crede che Windows possa star dietro a un certo ritmo lavorativo. Lui deve pensarci su, cazzo, aspetta un attimo, utente dimmerda, eh! Arrabbiato
<softv>

Pagina generata in 297 millisecondi

Utenti attivi: 11 nell'ultimo minuto, 25 negli ultimi cinque minuti, 52 negli ultimi 15 minuti