手机端小强原创文章,java小强个人博客站点
当前位置: 首页 >> NET >> InputStream,int,shot,long与byte数组之间的互相转换

InputStream,int,shot,long与byte数组之间的互相转换

23630 NET | 2014-6-18

没别的,直接上代码!

package com.dst.util;
import java.io.*;
/**
 * 流操作工具类
 * @author 崔素强
 */
public class StreamTool {
 /**
  * @方法功能 InputStream 转为 byte
  * @param InputStream
  * @return 字节数组
  * @throws Exception
  */
 public static byte[] inputStream2Byte(InputStream inStream)
   throws Exception {
  // ByteArrayOutputStream outSteam = new ByteArrayOutputStream();
  // byte[] buffer = new byte[1024];
  // int len = -1;
  // while ((len = inStream.read(buffer)) != -1) {
  // outSteam.write(buffer, 0, len);
  // }
  // outSteam.close();
  // inStream.close();
  // return outSteam.toByteArray();
  int count = 0;
  while (count == 0) {
   count = inStream.available();
  }
  byte[] b = new byte[count];
  inStream.read(b);
  return b;
 }
 /**
  * @方法功能 byte 转为 InputStream
  * @param 字节数组
  * @return InputStream
  * @throws Exception
  */
 public static InputStream byte2InputStream(byte[] b) throws Exception {
  InputStream is = new ByteArrayInputStream(b);
  return is;
 }
 /**
  * @功能 短整型与字节的转换
  * @param 短整型
  * @return 两位的字节数组
  */
 public static byte[] shortToByte(short number) {
  int temp = number;
  byte[] b = new byte[2];
  for (int i = 0; i < b.length; i++) {
   b[i] = new Integer(temp & 0xff).byteValue();// 将最低位保存在最低位
   temp = temp >> 8; // 向右移8位
  }
  return b;
 }
 /**
  * @功能 字节的转换与短整型
  * @param 两位的字节数组
  * @return 短整型
  */
 public static short byteToShort(byte[] b) {
  short s = 0;
  short s0 = (short) (b[0] & 0xff);// 最低位
  short s1 = (short) (b[1] & 0xff);
  s1 <<= 8;
  s = (short) (s0 | s1);
  return s;
 }
 /**
  * @方法功能 整型与字节数组的转换
  * @param 整型
  * @return 四位的字节数组
  */
 public static byte[] intToByte(int i) {
  byte[] bt = new byte[4];
  bt[0] = (byte) (0xff & i);
  bt[1] = (byte) ((0xff00 & i) >> 8);
  bt[2] = (byte) ((0xff0000 & i) >> 16);
  bt[3] = (byte) ((0xff000000 & i) >> 24);
  return bt;
 }
 /**
  * @方法功能 字节数组和整型的转换
  * @param 字节数组
  * @return 整型
  */
 public static int bytesToInt(byte[] bytes) {
  int num = bytes[0] & 0xFF;
  num |= ((bytes[1] << 8) & 0xFF00);
  num |= ((bytes[2] << 16) & 0xFF0000);
  num |= ((bytes[3] << 24) & 0xFF000000);
  return num;
 }
 /**
  * @方法功能 字节数组和长整型的转换
  * @param 字节数组
  * @return 长整型
  */
 public static byte[] longToByte(long number) {
  long temp = number;
  byte[] b = new byte[8];
  for (int i = 0; i < b.length; i++) {
   b[i] = new Long(temp & 0xff).byteValue();
   // 将最低位保存在最低位
   temp = temp >> 8;
   // 向右移8位
  }
  return b;
 }
 /**
  * @方法功能 字节数组和长整型的转换
  * @param 字节数组
  * @return 长整型
  */
 public static long byteToLong(byte[] b) {
  long s = 0;
  long s0 = b[0] & 0xff;// 最低位
  long s1 = b[1] & 0xff;
  long s2 = b[2] & 0xff;
  long s3 = b[3] & 0xff;
  long s4 = b[4] & 0xff;// 最低位
  long s5 = b[5] & 0xff;
  long s6 = b[6] & 0xff;
  long s7 = b[7] & 0xff; // s0不变
  s1 <<= 8;
  s2 <<= 16;
  s3 <<= 24;
  s4 <<= 8 * 4;
  s5 <<= 8 * 5;
  s6 <<= 8 * 6;
  s7 <<= 8 * 7;
  s = s0 | s1 | s2 | s3 | s4 | s5 | s6 | s7;
  return s;
 }
}


推荐您阅读更多有关于“ 转换 InputStream int shot byte ”的文章

上一篇:ByteBuffer 到底怎么用?网络编程中一点总结! 下一篇:DWR ajax 实际应用讲解

猜你喜欢

发表评论:

个人资料
blogger

java小强
没有思考,人生的路会越走越难!

搜索
分类
最新微语
  • 今日北京再次沙尘暴来袭,吃了几年细粮,终于能来口粗粮了,不过大早上看见这场景,还是吓我一跳,不过随后就平静了,毕竟是老朋友了。进公司又发现一股烤糊的味道,真是祸不单行啊,例外都是污染。发了两个口罩,开启保护模式。

    2017-05-04 10:16

  • 今天同学问我,最近还在写代码吗?我想了想,这个问题怎么回答呢,我好像确实很长时间,虽然写了一些,但是主要内容已经不是写代码了。然后再想想,自己也7年多了,这么多年了,我收获了什么,我的目标到底是什么。眼看就奔三了,人生啊,开启感叹模式。

    2017-03-30 22:52

  • 也许大家都已经注意到了,今年的房价,好多地方都是翻了一番,跟着就是,各地房东开始变相涨租。今年之所以搬走,就是为此,这两天同学也是如此。很多房东只认钱,别谈感情,伤钱。而对于这个城市来说,你怎么定位自己,你真把自己当成她的一份子?你来此为何?将来何去何从?自己掂量清楚。

    2016-12-05 10:03

  • 为什么一直不写了呢?因为当爸爸了,没空了。今年的冬天,有些寒冷,除了这寒冬带来的不适,更有因乐视公司遇到危机,而带来的同事别离。送别同事,看着空旷的工位,心中有些悲凉。临近年关,此时此刻,该怎么做,似乎不再是脑子一热那么简单了。

    2016-11-24 11:28

  • 已经请假,加上国庆,要很长一段时间不在北京了。919加班,搞的现在有点心累,胸闷,身体不适。看来,我要好好休息一下了。这几天有些冷,2016的冬天,一步步来了,各位亲友,记得添衣加粗啊。

    2016-09-23 17:29

  • 更多»

最新文章
热门文章
随机文章