如何将byte[]转换为二进制?如何再转换回来?例如 byte[] aa = new byte[10],怎么转换变为二进制串?如果已知这个二进制串,怎么还原为 byte[10] ?

解决方案 »

  1.   

    .toBinaryString()转二进制反回给你个例子关于inputstream中输入二进制的问题 
    您已经可以通过getOutputStream方法获得一个OutputStream对象。该对象只有对字节数组的操作。您的问题可能是如何利用该对象传送int double Object等二进制数据吧。 
    这个问题的解其实是通用的,即不仅可以用在网络IO上,也可以用在文件IO上等等。只需在OutputStream的基础上建立ObjectOutputStream即可。完整代码如下 
    [code] 
    //Ja02_01.java 
    /**网络上的对象IO:客户端*/ 
    import java.io.*; 
    import java.net.*; public class Ja02_01 { 
    public static void main(String[] args) throws Exception{ 
    Socket socket; 
    socket = new Socket("localhost", 6600); 
    ObjectInputStream in = new ObjectInputStream(socket.getInputStream()); 
    Ja02_00 obj = (Ja02_00)in.readObject(); 
    System.out.println(obj.i + " " + obj.d + " " + obj.s); 
    in.close(); 
    socket.close(); 

    } //Ja02_02.java 
    /**网络上的对象IO:服务器*/ 
    import java.net.*; 
    import java.io.*; /*服务器*/ 
    public class Ja02_02 { 
    public static void main(String[] args) throws IOException{ 
    ServerSocket serverSocket = null; 
    try { 
    serverSocket = new ServerSocket(6600); 
    } catch (IOException e) { 
    System.err.println("Cannot listen on port 6600"); 
    System.exit(1); 

    Socket socket = serverSocket.accept(); 
    ObjectOutputStream out = new ObjectOutputStream(socket.getOutputStream()); 
    out.writeObject(new Ja02_00(0, 0.0, "Hello")); 
    out.close(); 
    socket.close(); 
    serverSocket.close(); 

    } //Ja02_00.java 
    import java.io.*; /**用于传送的测试类*/ 
    class Ja02_00 implements Serializable { 
    int i; 
    double d; 
    String s; 
    public Ja02_00(int i1, double d1, String s1) { 
    i = i1; 
    d = d1; 
    s = s1; 


    [/code] 
      

  2.   

    我是写压缩文件压缩时,首先将文件转换为二进制,然后送到 DeflaterOutputStream 中去解压时,首先从InflaterInputStream中读取,然后将二进制转回对应的值
      

  3.   

    压缩文件是给DELPHI做的程序使用的...........