實現功能: 1.將基本數據類型,如int, long, double, 及String類型數據寫入到 byte[]中, 2.從 byte[]中將數據讀取到 int, long, double, 及String類型變數中 運行結果: ...
實現功能:
1.將基本數據類型,如int, long, double, 及String類型數據寫入到 byte[]中,
2.從 byte[]中將數據讀取到 int, long, double, 及String類型變數中
package com.machuang.io.others; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; public class DataInteractiveWithByteArray { public static void main(String[] args) throws IOException { byte[] recBytes = writeTypesToBytes(); readTypesFromBytes(recBytes); } public static void readTypesFromBytes(byte[] srcbytes) throws IOException { // 關聯寫出的讀取的 byte[] DataInputStream dis = new DataInputStream( new BufferedInputStream( new ByteArrayInputStream(srcbytes) ) ); // 讀取操作 double recDou = dis.readDouble(); long recL = dis.readLong(); String recS = dis.readUTF(); dis.close(); System.out.println("recDou:\t" + recDou + "\n" + "recL:\t" + recL + "\n" + "recS:\t" + recS); } public static byte[] writeTypesToBytes() throws IOException { // 要寫出的數據 double dataDou = 3.6; long numL = 100L; String dataStr = "architecture"; // 關聯寫出的 ByteArrayOutputStream ByteArrayOutputStream bos = new ByteArrayOutputStream(); DataOutputStream dos = new DataOutputStream( new BufferedOutputStream( bos ) ); dos.writeDouble(dataDou); dos.writeLong(numL); dos.writeUTF(dataStr); dos.flush(); byte[] dataBytes = bos.toByteArray(); dos.close(); // 關閉流 return dataBytes; } }
運行結果: