亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ioutils.java

?? java的共享內存管理.基于MMF設計。封裝了java.nio.MappedByteBuffer.在大流量實時業務系統時
?? JAVA
字號:
/*
 * @(#)IOUtils.java	1.00 2007-12-7
 *
 * Copyright 2007 BCINFO. All Rights Reserved.
 * 
 * Programmer: Xuym.
 */
package com.bci.commons.util;

/**
 * IO操作類 主要用于字節和數字的轉換
 * 
 * @author xuym
 * @version 1.00, 2007-12-7
 * @since 1.5
 */

public class IOUtils {

	public IOUtils() {
	}

	public static final int byte2int(byte b[], int offset) {
		return b[offset + 3] & 0xff | (b[offset + 2] & 0xff) << 8
				| (b[offset + 1] & 0xff) << 16 | (b[offset] & 0xff) << 24;
	}

	public static final int byte2int(byte b[]) {
		return b[3] & 0xff | (b[2] & 0xff) << 8 | (b[1] & 0xff) << 16
				| (b[0] & 0xff) << 24;
	}

	public static final long byte2long(byte b[]) {
		return (long) b[7] & (long) 255 | ((long) b[6] & (long) 255) << 8
				| ((long) b[5] & (long) 255) << 16
				| ((long) b[4] & (long) 255) << 24
				| ((long) b[3] & (long) 255) << 32
				| ((long) b[2] & (long) 255) << 40
				| ((long) b[1] & (long) 255) << 48 | (long) b[0] << 56;
	}

	public static final long byte2long(byte b[], int offset) {
		return (long) b[offset + 7] & (long) 255
				| ((long) b[offset + 6] & (long) 255) << 8
				| ((long) b[offset + 5] & (long) 255) << 16
				| ((long) b[offset + 4] & (long) 255) << 24
				| ((long) b[offset + 3] & (long) 255) << 32
				| ((long) b[offset + 2] & (long) 255) << 40
				| ((long) b[offset + 1] & (long) 255) << 48
				| (long) b[offset] << 56;
	}

	public static final byte[] int2byte(int n) {
		byte b[] = new byte[4];
		b[0] = (byte) (n >> 24);
		b[1] = (byte) (n >> 16);
		b[2] = (byte) (n >> 8);
		b[3] = (byte) n;
		return b;
	}

	public static final void int2byte(int n, byte buf[], int offset) {
		buf[offset] = (byte) (n >> 24);
		buf[offset + 1] = (byte) (n >> 16);
		buf[offset + 2] = (byte) (n >> 8);
		buf[offset + 3] = (byte) n;
	}

	public static final byte[] short2byte(int n) {
		byte b[] = new byte[2];
		b[0] = (byte) (n >> 8);
		b[1] = (byte) n;
		return b;
	}

	public static final void short2byte(int n, byte buf[], int offset) {
		buf[offset] = (byte) (n >> 8);
		buf[offset + 1] = (byte) n;
	}

	public static final byte[] long2byte(long n) {
		byte b[] = new byte[8];
		b[0] = (byte) (int) (n >> 56);
		b[1] = (byte) (int) (n >> 48);
		b[2] = (byte) (int) (n >> 40);
		b[3] = (byte) (int) (n >> 32);
		b[4] = (byte) (int) (n >> 24);
		b[5] = (byte) (int) (n >> 16);
		b[6] = (byte) (int) (n >> 8);
		b[7] = (byte) (int) n;
		return b;
	}

	public static final void long2byte(long n, byte buf[], int offset) {
		buf[offset] = (byte) (int) (n >> 56);
		buf[offset + 1] = (byte) (int) (n >> 48);
		buf[offset + 2] = (byte) (int) (n >> 40);
		buf[offset + 3] = (byte) (int) (n >> 32);
		buf[offset + 4] = (byte) (int) (n >> 24);
		buf[offset + 5] = (byte) (int) (n >> 16);
		buf[offset + 6] = (byte) (int) (n >> 8);
		buf[offset + 7] = (byte) (int) n;
	}

	public static final long getLong(byte[] b, int off) {
		return ((b[off + 7] & 0xFFL) << 0) + ((b[off + 6] & 0xFFL) << 8)
				+ ((b[off + 5] & 0xFFL) << 16) + ((b[off + 4] & 0xFFL) << 24)
				+ ((b[off + 3] & 0xFFL) << 32) + ((b[off + 2] & 0xFFL) << 40)
				+ ((b[off + 1] & 0xFFL) << 48) + ((b[off + 0] & 0xFFL) << 56);
	}

	public static final String readString(byte[] b, int offset, int len) {
		try {
			if (len > 0)
				return (new String(b, offset, len, "US-ASCII"));
			else
				return ("");
		} catch (java.io.UnsupportedEncodingException x) {
			return ("");
		}
	}

	/**
	 * Convert an integer to a byte array in MSB first order
	 * 
	 * @param num
	 *            The number to store
	 * @param len
	 *            The length of the integer to convert
	 * @return An array of length len containing the byte representation of num.
	 */
	public static final byte[] intToBytes(int num, int len) {
		return (intToBytes(num, len, null, 0));
	}

	/**
	 * Convert an integer to a byte array in MSB first order. This method exists
	 * as well as the <code>longToBytes</code> method for performance reasons.
	 * More often than not, a 4-byte value is the largest being
	 * converted...doing that using <code>ints</code> instead of
	 * <code>longs</code> will offer a slight performance increase. The code
	 * for the two methods is identical except for using ints instead of longs
	 * to hold mask, shiftwidth and number values.
	 * 
	 * @param num
	 *            The number to store
	 * @param len
	 *            The length of the integer to convert (that is, the number of
	 *            bytes to generate).
	 * @param b
	 *            the byte array to write the integer to.
	 * @param offset
	 *            the offset in <code>b</code> to write the integer to.
	 * @return An array of length len containing the byte representation of num.
	 */
	public static final byte[] intToBytes(int num, int len, byte[] b, int offset) {

		if (b == null) {
			b = new byte[len];
			offset = 0;
		}
		int sw = ((len - 1) * 8);
		int mask = (0xff << sw);

		for (int l = 0; l < len; l++) {
			b[offset + l] = (byte) ((num & mask) >>> sw);

			sw -= 8;
			mask >>>= 8;
		}

		return (b);
	}

	/**
	 * Convert a long to a byte array in MSB first order.
	 * 
	 * @param num
	 *            The number to store
	 * @param len
	 *            The length of the integer to convert (that is, the number of
	 *            bytes to generate).
	 * @return An array of length len containing the byte representation of num.
	 */
	public static final byte[] longToBytes(long num, int len) {
		return (longToBytes(num, len, null, 0));
	}

	/**
	 * Convert a long to a byte array in MSB first order.
	 * 
	 * @param num
	 *            The number to store
	 * @param len
	 *            The length of the integer to convert (that is, the number of
	 *            bytes to generate).
	 * @param b
	 *            the byte array to write the integer to.
	 * @param offset
	 *            the offset in <code>b</code> to write the integer to.
	 * @return An array of length len containing the byte representation of num.
	 */
	public static final byte[] longToBytes(long num, int len, byte[] b,
			int offset) {

		if (b == null) {
			b = new byte[len];
			offset = 0;
		}
		long sw = ((len - 1) * 8);
		long mask = (0xffL << sw);

		for (int l = 0; l < len; l++) {
			b[offset + l] = (byte) ((num & mask) >>> sw);

			sw -= 8;
			mask >>>= 8;
		}

		return (b);
	}

	/**
	 * Convert a byte array (or part thereof) into an integer. The byte array
	 * should be in big-endian form. That is, the byte at index 'offset' should
	 * be the MSB.
	 * 
	 * @param b
	 *            The array containing the bytes
	 * @param offset
	 *            The array index of the MSB
	 * @param size
	 *            The number of bytes to convert into the integer
	 * @return An integer value represented by the specified bytes.
	 */
	public static final int bytesToInt(byte[] b, int offset, int size) {
		int num = 0;
		int sw = 8 * (size - 1);

		for (int loop = 0; loop < size; loop++) {
			num |= ((int) b[offset + loop] & 0x00ff) << sw;
			sw -= 8;
		}

		return (num);
	}

	/**
	 * Convert a byte array (or part thereof) into a long. The byte array should
	 * be in big-endian form. That is, the byte at index 'offset' should be the
	 * MSB.
	 * 
	 * @param b
	 *            The array containing the bytes
	 * @param offset
	 *            The array index of the MSB
	 * @param size
	 *            The number of bytes to convert into the long
	 * @return An long value represented by the specified bytes.
	 */
	public static final long bytesToLong(byte[] b, int offset, int size) {
		long num = 0;
		long sw = 8L * ((long) size - 1L);

		for (int loop = 0; loop < size; loop++) {
			num |= ((long) b[offset + loop] & 0x00ff) << sw;
			sw -= 8;
		}

		return (num);
	}

	public static void main(String[] arg) {

		/*
		 * DecimalFormat df = new DecimalFormat("0000000");
		 * System.out.println(df.format(123)); MessageFormat mf = new
		 * MessageFormat("yyyy-MM-dd");
		 * System.out.println(mf.format("2006-07-11"));
		 */
		int i = 132;
		byte b = IOUtils.int2byte(i)[3];
		int k = IOUtils.bytesToInt(new byte[] { b }, 0, 1);
		System.out.println(b);
		System.out.println(k);
	}

	public static String encodeHex(byte[] bytes) {
		if (bytes == null)
			return "";
		StringBuffer buf = new StringBuffer(bytes.length * 2);
		for (int i = 0; i < bytes.length; i++) {
			if (((int) bytes[i] & 0xff) < 0x10) {
				buf.append("0");
			}
			buf.append(Long.toString((int) bytes[i] & 0xff, 16));
		}
		return buf.toString();
	}

	public static byte[] hexToBytes(String ss) {
		byte[] bytes = new byte[ss.length() / 2];
		char[] chars = ss.toLowerCase().toCharArray();
		int byteCount = 0;
		for (int i = 0; i < chars.length; i += 2) {
			byte newByte = 0x00;
			newByte |= hexCharToByte(chars[i]);
			newByte <<= 4;
			newByte |= hexCharToByte(chars[i + 1]);
			bytes[byteCount] = newByte;
			byteCount++;
		}
		return bytes;
	}

	private static byte hexCharToByte(char ch) {
		switch (ch) {
		case '0':
			return 0x00;
		case '1':
			return 0x01;
		case '2':
			return 0x02;
		case '3':
			return 0x03;
		case '4':
			return 0x04;
		case '5':
			return 0x05;
		case '6':
			return 0x06;
		case '7':
			return 0x07;
		case '8':
			return 0x08;
		case '9':
			return 0x09;
		case 'a':
			return 0x0A;
		case 'b':
			return 0x0B;
		case 'c':
			return 0x0C;
		case 'd':
			return 0x0D;
		case 'e':
			return 0x0E;
		case 'f':
			return 0x0F;
		}
		return 0x00;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美色综合| 国产精品一品二品| 国产成人啪午夜精品网站男同| www.av亚洲| 日韩午夜三级在线| 亚洲亚洲人成综合网络| 国产精品亚洲人在线观看| 欧美女孩性生活视频| 中文字幕一区二区日韩精品绯色| 老司机免费视频一区二区三区| 色综合天天综合网天天看片| 久久久亚洲午夜电影| 日本不卡一区二区| 在线视频综合导航| 亚洲欧美在线aaa| 国产精品一区二区三区99| 欧美大片一区二区| 日韩—二三区免费观看av| 在线视频综合导航| 亚洲视频网在线直播| 成人免费视频视频在线观看免费| 日韩免费高清电影| 免费人成网站在线观看欧美高清| 欧美日韩免费一区二区三区视频| 亚洲色图清纯唯美| 成人av第一页| 专区另类欧美日韩| jlzzjlzz亚洲日本少妇| 国产精品美女久久久久久久网站| 国产成人午夜精品影院观看视频| 久久久久久一级片| 国产黄人亚洲片| 国产欧美日产一区| 粉嫩嫩av羞羞动漫久久久| 国产欧美一区二区精品性色超碰 | 国产精品影视天天线| 精品国产99国产精品| 激情亚洲综合在线| 久久久久久久av麻豆果冻| 国产一区亚洲一区| 国产精品午夜春色av| 99久久夜色精品国产网站| 亚洲人成网站色在线观看| 在线观看国产精品网站| 亚洲福利一二三区| 99精品国产99久久久久久白柏| 日韩亚洲欧美在线| 久久精品99国产精品日本| 日韩视频免费观看高清完整版| 精品在线视频一区| 久久婷婷成人综合色| 99精品视频一区| 亚洲一区二区三区四区的| 日韩一级高清毛片| 国产电影精品久久禁18| 亚洲精品第一国产综合野| 9191国产精品| 国产精品亚洲一区二区三区在线 | 美国av一区二区| 久久久不卡网国产精品一区| 夜夜精品浪潮av一区二区三区| 亚洲综合成人在线视频| 在线观看成人免费视频| 美女国产一区二区| 国产精品欧美极品| 欧美系列日韩一区| 久久精品免费看| 亚洲天堂成人在线观看| 精品视频一区二区不卡| 国产一区不卡视频| 一区二区国产盗摄色噜噜| 日韩精品一区二区三区swag| 99久久精品国产一区二区三区| 日韩av一二三| 亚洲人成影院在线观看| 欧美精品一区在线观看| av色综合久久天堂av综合| 日韩精彩视频在线观看| 国产精品灌醉下药二区| 日韩欧美亚洲另类制服综合在线| 99精品久久99久久久久| 国内外成人在线| 五月婷婷综合在线| 午夜视频一区在线观看| 日韩一区二区免费视频| 大尺度一区二区| 美腿丝袜一区二区三区| 国产精品一线二线三线精华| 亚洲愉拍自拍另类高清精品| 中文字幕欧美激情| 精品人在线二区三区| 91国偷自产一区二区三区成为亚洲经典 | 欧美一区二区成人6969| 91在线高清观看| 国产成人一区在线| 黄色日韩网站视频| 日韩电影免费一区| 一区二区三区欧美久久| 国产午夜精品福利| 精品国产伦一区二区三区观看方式 | 在线视频综合导航| 播五月开心婷婷综合| 国产精品自拍毛片| 蜜桃视频第一区免费观看| 天堂av在线一区| 亚洲电影在线播放| 亚洲综合丝袜美腿| 一区二区三区四区亚洲| 日韩一区中文字幕| 亚洲日本青草视频在线怡红院 | 日本高清成人免费播放| 成人国产亚洲欧美成人综合网| 国产成人午夜视频| 国产福利电影一区二区三区| 韩国av一区二区三区| 国产一区二区在线看| 国产精品18久久久久久久久久久久| 麻豆精品一区二区| 久久国产日韩欧美精品| 久久国产人妖系列| 国产精品一二三| 国产凹凸在线观看一区二区| 国产成人精品免费网站| 99久久精品一区| 欧美性猛片xxxx免费看久爱| 欧美麻豆精品久久久久久| 欧美一区二区不卡视频| 欧美精品一区二区三区视频| 国产亚洲欧美激情| 一区在线中文字幕| 一区二区三区中文在线| 五月婷婷欧美视频| 精品亚洲aⅴ乱码一区二区三区| 国内一区二区视频| 日韩一区二区三区四区| 日韩欧美自拍偷拍| 337p日本欧洲亚洲大胆精品| 久久久久久久久久久99999| 国产精品狼人久久影院观看方式| 亚洲欧美日韩在线播放| 视频一区中文字幕国产| 激情综合色综合久久| 波多野结衣视频一区| 欧美撒尿777hd撒尿| 日韩欧美成人午夜| 国产欧美日韩综合精品一区二区 | 91免费观看国产| 欧美久久久久免费| 国产人伦精品一区二区| 亚洲女人的天堂| 捆绑变态av一区二区三区| 高清国产一区二区| 欧美日韩久久久| 中文字幕免费不卡在线| 一区二区三区电影在线播| 精品一区二区三区视频在线观看 | 国产精品77777| 欧美人妇做爰xxxⅹ性高电影| 久久这里只精品最新地址| 亚洲黄色免费电影| 国产很黄免费观看久久| 欧美精品在线一区二区| 国产视频在线观看一区二区三区| 无码av中文一区二区三区桃花岛| 国产精品一级片| 欧美一区二区三区四区在线观看 | 欧美精彩视频一区二区三区| 亚洲高清不卡在线| 成人国产精品视频| 欧美成人精精品一区二区频| 一区二区三区蜜桃网| 国产精选一区二区三区| 欧美疯狂做受xxxx富婆| 亚洲激情自拍偷拍| 成人午夜短视频| 精品国产91乱码一区二区三区| 亚洲在线观看免费视频| 成人激情黄色小说| 精品毛片乱码1区2区3区| 亚洲成人动漫在线免费观看| 97久久精品人人爽人人爽蜜臀| 久久久久国产一区二区三区四区| 日韩精品电影一区亚洲| 欧美性三三影院| 亚洲综合色噜噜狠狠| 97精品超碰一区二区三区| 久久精品亚洲精品国产欧美kt∨| 日本成人超碰在线观看| 欧美日本韩国一区二区三区视频 | 国产精品久久久久久久午夜片| 国产一区二区在线影院| 精品久久人人做人人爱| 久久精品噜噜噜成人av农村| 欧美一区二区在线免费观看| 亚洲国产精品麻豆| 欧美三电影在线| 五月婷婷色综合| 欧美一区二区久久久| 免费欧美在线视频| 欧美成人a∨高清免费观看|