Come convertire un intero Java per Byte

March 17

Come convertire un intero Java per Byte


Molto poco lavoro si occupa di programmazione direttamente con byte. La maggior parte lavoro comporta rappresentazioni di alto livello di byte, come, in Java, interi stringhe e caratteri. Tuttavia, specialmente quando si lavora con ingresso e uscita di file, in molti casi aa programmatore deve ottenere i byte prime che compongono uno dei tipi di dati più comunemente usati. Ottenere una rappresentazione array di byte di qualsiasi oggetto in Java è facile utilizzando alcune delle classi nel pacchetto java.io.

istruzione

1 Creare una nuova classe nel progetto; il nome è irrilevante, ma assicuratevi di selezionare la casella di controllo "void main (String [] args) public static" in modo da avere un posto dove aggiungere il codice che permette di testare esso.

2 Creare un oggetto Integer. Si noti che non è possibile lavorare con un semplice "int" primitivo; deve essere un numero intero. Utilizzare il seguente codice per creare un numero intero da un valore int.

int theInt = 5;

Integer theIntegerObject = new Integer (theInt);

3 Aggiungere il seguente codice per recuperare una rappresentazione array di byte dell'oggetto:

finale ByteArrayOutputStream baos = new ByteArrayOutputStream ();

finale ObjectOutputStream oos = new ObjectOutputStream (baos);

oos.writeObject (theIntegerObject);

byte [] byte finali = baos.toByteArray ();

// Uso byte, se necessario.

4 Per ottenere il vostro oggetto schiena - in questo caso, un intero - è possibile invertire il processo in un modo simile:

ByteArrayInputStream Bais = new ByteArrayInputStream (byte);

ObjectInputStream ois = new ObjectInputStream (bais);

Oggetto finale obj = ois.readObject ();

Il cast dell'oggetto restituito al tipo ti aspetti.

Consigli e avvertenze

  • Questa è una situazione che è chiaramente chiamando di essere riorganizzata in metodi di utilità in una classe separata. Con la creazione di una classe aggiuntiva per contenere questi come metodi di utilità, è possibile anche aggiungere ulteriori metodi di prefabbricati gli oggetti restituiti per voi se si sta utilizzando i metodi abbastanza frequentemente per particolari tipi di dati.
  • Per mantenere i campioni conciso, la gestione delle eccezioni è stato omesso, ma è necessario per essere sicuri di coprire nel proprio codice. Entrambi i metodi ObjectOutputStream e ObjectInputStream utilizzati IOExceptions tiro, e il metodo readObject del ObjectInputStream getta un ClassNotFoundException. Gestire queste appropriato nel progetto.