利用IO流進行基本類型同二進制的轉換,以double爲例

package convert;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;

public class Convert {
	public static byte[] convertToByte(double n) throws IOException{
		ByteArrayOutputStream bo = new ByteArrayOutputStream();
		DataOutputStream dos = new DataOutputStream(bo);
		dos.writeDouble(n);
		byte[] temp=bo.toByteArray();
		dos.flush();
		bo.flush();
		dos.close();
		bo.close();
		return temp;
	}
	public static double convertToDouble(byte[] b) throws IOException{
		ByteArrayInputStream bi = new ByteArrayInputStream(b,0, b.length);
		DataInputStream dis = new DataInputStream(bi);
		double n=dis.readDouble();
		bi.close();
		dis.close();
		return n;
		
	}
	public static void main(String[] args) {
		double n=1.23;
		try {
			n=convertToDouble(convertToByte(n));
			System.out.println(n);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章