⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 formatutil.java.svn-base

📁 struts2结合ext参数传递
💻 SVN-BASE
字号:
package com.gembler;

/**
 * 格式化工具类
 * 
 * @author gembler
 * @version 2008-12-3 下午03:01:50
 */
public class FormatUtil {

	/**
	 * 格式化二进制。默认取8位,超过则截取,不足则补零。
	 * 格式:“00000000”,与NumberFormat的pattern:“########”类似。
	 * 
	 * @author gembler
	 * @version 2008-12-3 下午03:15:06
	 * 
	 * @param binary
	 *            需要格式化的字节。
	 * 
	 * @return 格式化后的字符串。
	 */
	public static String formatBinary(byte binary) {

		return formatBinary(binary, null).toString();

	}

	/**
	 * 格式化二进制,超过则截取,不足则补零。格式:“00000000”,与NumberFormat的pattern:“########”类似。
	 * 
	 * @author gembler
	 * @version 2008-12-3 下午03:15:09
	 * 
	 * @param binary
	 *            需要格式化的字节。
	 * @param bitCount
	 *            需要格式化的位数。
	 * 
	 * @return 格式化后的字符串。
	 */
	public static String formatBinary(byte binary, int bitCount) {

		return formatBinary(binary, null, bitCount).toString();

	}

	/**
	 * 格式化二进制,超过则截取,不足则补零。格式:“00000000”,与NumberFormat的pattern:“########”类似。
	 * 
	 * @author gembler
	 * @version 2008-12-3 下午03:15:12
	 * 
	 * @param binary
	 *            需要格式化的字节。
	 * @param toAppendTo
	 *            追加到的Builder。
	 * 
	 * @return 格式化后的StringBuilder。
	 */
	public static StringBuilder formatBinary(byte binary,
			StringBuilder toAppendTo) {

		return formatBinary(binary, toAppendTo, Codec.EIGHT_BIT);
	}

	/**
	 * 格式化二进制,超过则截取,不足则补零。格式:“00000000”,与NumberFormat的pattern:“########”类似。
	 * 
	 * @author gembler
	 * @version 2008-12-3 下午03:15:16
	 * 
	 * @param binary
	 *            需要格式化的字节。
	 * @param toAppendTo
	 *            追加到的Builder。
	 * @param bitCount
	 *            需要格式化的位数。
	 * 
	 * @return 格式化后的StringBuilder。
	 */
	public static StringBuilder formatBinary(byte binary,
			StringBuilder toAppendTo, int bitCount) {

		String strBinary = Integer.toBinaryString(binary);

		return formatBinary(strBinary, toAppendTo, bitCount);
	}

	/**
	 * 格式化二进制,超过则截取,不足则补零。格式:“00000000”,与NumberFormat的pattern:“########”类似。
	 * 
	 * @author gembler
	 * @version 2008-12-3 下午03:15:20
	 * 
	 * @param binary
	 *            需要格式化的字节。
	 * 
	 * @return 格式化后的字符串。
	 */
	public static String formatBinary(String binary) {

		return formatBinary(binary, null).toString();

	}

	/**
	 * 格式化二进制,超过则截取,不足则补零。格式:“00000000”,与NumberFormat的pattern:“########”类似。
	 * 
	 * @author gembler
	 * @version 2008-12-3 下午03:15:24
	 * 
	 * @param binary
	 *            需要格式化的字节。
	 * @param bitCount
	 *            需要格式化的位数。
	 * 
	 * @return 格式化后的字符串。
	 */
	public static String formatBinary(String binary, int bitCount) {

		return formatBinary(binary, null, bitCount).toString();

	}

	/**
	 * 格式化二进制,超过则截取,不足则补零。格式:“00000000”,与NumberFormat的pattern:“########”类似。
	 * 
	 * @author gembler
	 * @version 2008-12-3 下午03:15:27
	 * 
	 * @param binary
	 *            需要格式化的字节。
	 * @param toAppendTo
	 *            追加到的Builder。
	 * 
	 * @return 格式化后的StringBuilder。
	 */
	public static StringBuilder formatBinary(String binary,
			StringBuilder toAppendTo) {

		return formatBinary(binary, toAppendTo, Codec.EIGHT_BIT);

	}

	/**
	 * 格式化二进制,超过则截取,不足则补零。格式:“00000000”,与NumberFormat的pattern:“########”类似。
	 * 
	 * @author gembler
	 * @version 2008-12-3 下午03:15:31
	 * 
	 * @param binary
	 *            需要格式化的字节。
	 * @param toAppendTo
	 *            追加到的Builder。
	 * @param bitCount
	 *            追加到的Builder。
	 * 
	 * @return 格式化后的StringBuilder。
	 */
	public static StringBuilder formatBinary(String binary,
			StringBuilder toAppendTo, int bitCount) {

		if (binary == null || binary.length() < 1) {

			return toAppendTo;

		}

		if (toAppendTo == null) {

			toAppendTo = new StringBuilder();

		}

		if (binary.length() == bitCount) {

			toAppendTo.append(binary);

			return toAppendTo;

		}

		/*
		 * 前补0, 如: "100011" to "00100011"
		 */
		if (binary.length() < bitCount) {

			StringBuilder formatted = new StringBuilder();

			formatted.append(binary);

			do {

				formatted.insert(0, "0");

			} while (formatted.length() < bitCount);

			toAppendTo.append(formatted);

			return toAppendTo;

		}

		/*
		 * 截取, 如: "11111111111111111111111110100011" to "10100011"
		 */
		if (binary.length() > bitCount) {

			String intercepted = binary.substring(binary.length() - bitCount);

			toAppendTo.append(intercepted);

			return toAppendTo;

		}

		return toAppendTo;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -