Visualizzazione dei risultati da 1 a 8 su 8

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    339
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Quel read può ritornare -1 se non ci sono più dati (end of stream).
    Accidenti...

    si può fare che non ritorni -1 se non ci sono più dati :

    l'array da leggere è inviato cosi :

    codice:
    OutputStream out = s.getOutputStream();
    byte [] richiestaInvio = new byte [1000];
    richiestaInvio = cipher.doFinal(richiesta.getBytes());
    out.write(richiestaInvio);
    out.close();

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Markus85 Visualizza il messaggio
    codice:
    OutputStream out = s.getOutputStream();
    byte [] richiestaInvio = new byte [1000];
    richiestaInvio = cipher.doFinal(richiesta.getBytes());
    out.write(richiestaInvio);
    out.close();
    Nota che qui il new byte [1000]; non serve a nulla. Il doFinal fornisce un nuovo array la cui lunghezza dipende principalmente da cosa c'è in quel richiesta !

    E dato che immagino sia un String, tieni sempre a mente le questioni sui charset quando si passa tra String e byte[].
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    339
    Si giusto il new byte [1000] non serve....non si sa a priori la dimensione.

    Cosa intendi per quanto riguarda i charset?
    Caratteri maiuscoli o minuscoli?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Markus85 Visualizza il messaggio
    Cosa intendi per quanto riguarda i charset?
    Caratteri maiuscoli o minuscoli?
    No, la codifica dei caratteri in byte (es. US-ASCII, ISO-8859-1, UTF-8, ecc...)

    getBytes() usa il charset di default della piattaforma. Su un'altra macchina potrebbe essere differente. E se stai comunicando tra due macchine differenti, potrebbero esserci problemi in quel senso.
    Generalmente è sempre bene "fissare" il charset e tipicamente la scelta cade su UTF-8, perché non perde nulla del Unicode ed è comunque compatto.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    339
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Originariamente inviata da Markus85codice:
    OutputStreamout= s.getOutputStream();
    byte[] richiestaInvio =newbyte[1000];
    richiestaInvio
    = cipher.doFinal(richiesta.getBytes());
    out.write(richiestaInvio);
    out.close();




    Nota che qui il new byte [1000]; non serve a nulla. Il doFinal fornisce un nuovo array la cui lunghezza dipende principalmente da cosa c'è in quel richiesta !
    Quindi dato che non sappiamo a priori la lunghezza del buffer ; possiamo istanziarlo a null e poi se la vede il cipher per crearlo?

    codice:
    byte [] richiestaInvio = null;
    richiestaInvio = cipher.doFinal(richiesta.getBytes());

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Markus85 Visualizza il messaggio
    Quindi dato che non sappiamo a priori la lunghezza del buffer ; possiamo istanziarlo a null e poi se la vede il cipher per crearlo?
    public final byte[] doFinal(byte[] input) throws .......

    (è quello che invochi)

    Parameters:
    input - the input buffer
    Returns:
    the new buffer with the result
    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.