在使用Mina的时候,难免会出现将字符互相转换。
下面是转换类:
- /**
- * MinaUtil.java
- * 版权所有(C) 2012
- * 创建:cuiran 2012-05-08 15:43:50
- */
- package com.wpndemo.test;
- import org.apache.mina.core.buffer.IoBuffer;
- /**
- * mina iobuffer的字符转换
- * @author cuiran
- * @version 1.0.0
- */
- public class MinaUtil {
- /**
- * 将byte[]转换成string
- * @param butBuffer
- */
- public static String byteToString(byte [] b)
- {
- StringBuffer stringBuffer = new StringBuffer();
- for (int i = 0; i < b.length; i++)
- {
- stringBuffer.append((char) b [i]);
- }
- return stringBuffer.toString();
- }
- /**
- * 将bytebuffer转换成string
- * @param str
- */
- public static IoBuffer stringToIoBuffer(String str)
- {
- byte bt[] = str.getBytes();
- IoBuffer ioBuffer = IoBuffer.allocate(bt.length);
- ioBuffer.put(bt, 0, bt.length);
- ioBuffer.flip();
- return ioBuffer;
- }
- /**
- * 将IoBuffer转换成string
- * @param str
- */
- public static IoBuffer byteToIoBuffer(byte [] bt,int length)
- {
- IoBuffer ioBuffer = IoBuffer.allocate(length);
- ioBuffer.put(bt, 0, length);
- ioBuffer.flip();
- return ioBuffer;
- }
- /**
- * 将IoBuffer转换成byte
- * @param str
- */
- public static byte [] ioBufferToByte(Object message)
- {
- if (!(message instanceof IoBuffer))
- {
- return null;
- }
- IoBuffer ioBuffer = (IoBuffer)message;
- byte[] b = new byte[ioBuffer.limit()];
- ioBuffer.get(b);
- return b;
- }
- /**
- * 将IoBuffer转换成string
- * @param butBuffer
- */
- public static String ioBufferToString(Object message)
- {
- if (!(message instanceof IoBuffer))
- {
- return "";
- }
- IoBuffer ioBuffer = (IoBuffer) message;
- byte[] b = new byte [ioBuffer.limit()];
- ioBuffer.get(b);
- StringBuffer stringBuffer = new StringBuffer();
- for (int i = 0; i < b.length; i++)
- {
- stringBuffer.append((char) b [i]);
- }
- return stringBuffer.toString();
- }
- }