`
chxiaowu
  • 浏览: 241091 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

关于mina iobuffer的字符转换

 
阅读更多


* 将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();  
}  
 
/** 
* 将string转换成IoBuffer   
* @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;  
}  
/** 
* 将byte []转换成IoBuffer   
* @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 Object 
*/ 
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();  

分享到:
评论

相关推荐

    mina core 包

    org.apache.mina.core.buffer.IoBuffer mina core 包

    Mina文件及字符串传输

    Mina会自动处理字符串到字节的转换,然后通过网络发送给服务器。 服务端接收到连接请求后,会创建一个对应的Session实例。当接收到数据时,Mina会调用预先设置的事件处理器(通常是IoHandler)来处理接收到的字符串...

    mina的高级使用,mina文件图片传送,mina发送文件,mina报文处理,mina发送xml和json

    在Mina中,我们可以利用BufferedIoFilter或者IoBuffer来传输文件,包括图片。首先,我们需要将图片文件读取到内存中的IoBuffer,然后通过过滤器链传递给远程客户端。在这个过程中,可以实现数据压缩、加密等额外...

    mina学习的最佳代码

    Apache MINA(Multipurpose Infrastructure for Network Applications)是一个Java框架,专为开发高性能和高可用性的网络应用程序而设计。MINA提供了高级通信抽象,如NIO(非阻塞I/O)和事件驱动的模型,使开发者...

    Mina 2.0 User Guide(Mina 2.0 用户指南)

    Chapter 10 - IoBuffer Chapter 11 - Codec Filter Chapter 12 - Executor Filter Chapter 13 - SSL Filter Chapter 14 - Logging Filter Part III - MINA Advanced Chapter 15 - Debugging Chapter 16 - State...

    MINA_API+MINA_DOC+mina

    它可能还会涉及如何配置和使用MINA的各种组件,如Buffer、Filters、Protocols等,帮助开发者更好地理解和应用MINA到实际项目中。 最后,`Apache_Mina_Server_2.0中文参考手册V1.0.pdf` 是MINA服务器端的中文参考...

    Mina2.0阅读源码笔记(很值得一看)

    - IoBuffer 是 Mina 中用于数据存储和传输的核心类,它是对 Java NIO ByteBuffer 的封装和增强。 - **IoBuffer vs ByteBuffer**: IoBuffer 提供了更多便于操作的功能,比如自动扩容、直接内存分配等特性,使得数据...

    Mina2中文文档

    - **IoBuffer详解**:IoBuffer是Mina用于高效内存管理的数据结构,本章节详细讲解了其内部机制和使用方法。 #### Chapter 9 - 编解码器过滤器 - **编解码器**:介绍如何使用Mina提供的编解码器过滤器对网络数据...

    mina 断包,粘包问题解决

    1. 缓冲区管理:Mina使用IoBuffer作为数据缓冲区,允许开发者对数据的读写进行精细控制。通过设置合适的缓冲区大小和正确地读写数据,可以有效防止数据丢失或交错。 2. 自定义编码解码器:Mina支持用户自定义编码器...

    mina-core-2.0.1.jar,apache-mina-2.0.1

    4. **Buffer**:MINA 提供了 ByteBuffer 和 IoBuffer 两种缓冲区,用于在网络通信中高效地读写数据。 **MINA 2.0.1 版本特点:** 1. **性能优化**:在 2.0.1 版本中,MINA 进行了多方面的性能提升,包括更快的数据...

    apache-mina-2.0.4.rar_apache mina_mina

    Apache Mina是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。这个"apache-mina-2.0.4.rar"压缩包包含的是Apache Mina 2.0.4版本的源代码,是深入理解和定制Mina的...

    Apache_MINA_2_用户指南.pdf

    * IoBuffer 是 MINA 中的一个核心组件,负责管理 I/O 缓存。 * IoBuffer 提供了一个灵活的架构,使得开发者可以轻松地构建高性能的 I/O 操作。 Chapter 9 - 编解码器过滤器 本章节介绍了 编解码器过滤器 的基本概念...

    mina-2.0.4 source code

    - **Buffer**:MINA使用IoBuffer作为缓冲区,它提供了高效的读写操作,并且支持自动扩容和预读写。 - **Filter**:过滤器是MINA中的关键组件,它们可以链式调用,用于数据的预处理和后处理,如压缩、加密、身份...

    Java学习之IO总结及mina和netty

    此外,还有缓冲流(BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter)用于提高性能,转换流(InputStreamReader、OutputStreamWriter)用于在字节流和字符流之间转换,以及对象流...

    springboot整合mina

    public Object decode(IoBuffer in) throws Exception { int length = in.getInt(); if (in.getRemaining() ) { // 没有足够的数据,等待更多数据到达 return null; } byte[] data = new byte[length]; in....

    关于apache Mina Server

    深入理解Apache_Mina_(1)----_Mina的几个类 深入理解Apache_Mina_(2)----_与IoFilter相关的几个类 深入理解Apache_Mina_(3)----_与IoHandler相关的几个类 深入理解Apache_Mina_(4)----_IoFilter和IoHandler的区别和...

    MINA TCP简单通信实例

    MINA提供了 IoBuffer 类,用于高效地存储和操作网络数据。你可以将数据写入Buffer,然后通过Session的write方法发送出去;接收数据时,MINA会自动将接收到的数据填充到Buffer中,供你读取。 在“MINA TCP简单通信...

    Mina+Socket通信

    Mina和Socket是两种常见的网络通信框架和技术,它们在Java编程环境中被广泛使用。本篇文章将深入探讨如何使用Mina与Socket实现通信,并提供客户端和服务端的实现代码概述。 Mina(全称“MINA: Minimalistic ...

    mina自定义编码解码器

    例如,如果你有一个自定义的消息类`MyMessage`,你可以创建一个`MyMessageEncoder`,重写`encode()`方法,将`MyMessage`对象转换为`IoBuffer`。编码器的目的是确保数据在网络中传输时保持正确格式。 ```java public...

Global site tag (gtag.js) - Google Analytics