程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> InputStream,int,shot,long與byte數組之間的互相轉換

InputStream,int,shot,long與byte數組之間的互相轉換

編輯:C++入門知識

[html]   import java.io.*;      /**    * 流操作工具類    */   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;       }   }    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved