zoukankan      html  css  js  c++  java
  • java笔记关于int和byte[]的转换

    关于int和byte[]数组的转换

     --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3891747.html "谢谢--

    众所周知java有8种基本类型,分别是低级变量(byte,char,boolean,shot)和高级变量(int,long,double,float),
    低级变量会自动转化成高级变量,而高级变量则要用强制转换才能成为低级变量,
    可是在文件传输和网络传输当中,由于计算机都是以二进制来存储数据的,所以很多时候我们需要将要用到的数据转换成字节流来完成传输
    那么int和byte[]数组之间又是如何转换的呢?
    很多人可能会马上想到String类型中的getBytes()方法来实现byte[]的转换,
    但可惜的是在int中java没有并封装有像这样的一个方法。
    仔细的查看API文档,我们会发现,其实java还是提供了不错的解决方案的,
    在java.io包下有这么四个类,分别是输出流ByteArrayOutputStream,DataOutputStream和输入流ByteArrayInputStream和DataInputStream
    通过这四个IO流即可实现int和byte[]数组的转换。

    以下是代码实例:
    package com.xhj.data;

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

    /**
    * int 和 byte[]的相互转换
    *
    * @author XIEHEJUN
    *
    */
    public class IntToButeArray {

    /**
    * 整数转换成字节数组 关键技术:ByteArrayOutputStream和DataOutputStream
    *
    * @param n
    * 需要转换整数
    * @return
    */
    public static byte[] intToButeArray(int n) {
    byte[] byteArray = null;
    try {
    ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
    DataOutputStream dataOut = new DataOutputStream(byteOut);
    dataOut.writeInt(n);
    byteArray = byteOut.toByteArray();
    for (byte b : byteArray) {
    System.out.println(" " + b);
    }
    } catch (IOException e) {
    e.printStackTrace();
    }
    return byteArray;
    }

    /**
    * 字节数组转换成整数 关键技术:ByteArrayInputStream和DataInputStream
    *
    * @param byteArray
    * 需要转换的字节数组
    * @return
    */
    public static int byteArrayToInt(byte[] byteArray) {
    int n = 0;
    try {
    ByteArrayInputStream byteInput = new ByteArrayInputStream(byteArray);
    DataInputStream dataInput = new DataInputStream(byteInput);
    n = dataInput.readInt();
    System.out.println("整数为: " + n);
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    return n;
    }

    public static void main(String[] args) {
    byte[] byteArray = intToButeArray(105);
    byteArrayToInt(byteArray);
    }
    }

    知识重在总结和梳理,只有不断地去学习并运用,才能化为自己的东西。由于本人进阶猿类时间尚短,故此博客即是我学习,工作的笔记,也是和大家交流,相互提升技术的平台~希望大家不吝赐教~~ --但管努力,莫问前程,事在人为,功不唐捐。--和佑博客园
  • 相关阅读:
    git常用指令 github版本回退 reset
    三门问题 概率论
    如何高效的学习高等数学
    数据库6 关系代数(relational algebra) 函数依赖(functional dependency)
    数据库5 索引 动态哈希(Dynamic Hashing)
    数据库4 3层结构(Three Level Architecture) DBA DML DDL DCL DQL
    梦想开始的地方
    java String字符串转对象实体类
    java 生成图片验证码
    java 对象之间相同属性进行赋值
  • 原文地址:https://www.cnblogs.com/XHJT/p/3891747.html
Copyright © 2011-2022 走看看