`

MINA中IoBuffer、byte[]、String之间转换

    博客分类:
  • mina
 
阅读更多
Java代码
  1. /**  
  2. * 将byte[]转换成string    
  3. * @param butBuffer  
  4. */  
  5. public static String byteToString(byte [] b)   
  6. {   
  7.        StringBuffer stringBuffer = new StringBuffer();   
  8.        for (int i = 0; i < b.length; i++)   
  9.        {   
  10.            stringBuffer.append((char) b [i]);   
  11.        }   
  12.        return stringBuffer.toString();   
  13. }   
  14.   
  15. /**  
  16. * 将bytebuffer转换成string    
  17. * @param str  
  18. */  
  19. public static IoBuffer stringToIoBuffer(String str)   
  20. {   
  21.   
  22.        byte bt[] = str.getBytes();   
  23.   
  24.        IoBuffer ioBuffer = IoBuffer.allocate(bt.length);   
  25.        ioBuffer.put(bt, 0, bt.length);   
  26.        ioBuffer.flip();   
  27.        return ioBuffer;   
  28. }   
  29. /**  
  30. * 将IoBuffer转换成string    
  31. * @param str  
  32. */  
  33. public static IoBuffer byteToIoBuffer(byte [] bt,int length)   
  34. {   
  35.   
  36.        IoBuffer ioBuffer = IoBuffer.allocate(length);   
  37.        ioBuffer.put(bt, 0, length);   
  38.        ioBuffer.flip();   
  39.        return ioBuffer;   
  40. }   
  41. /**  
  42. * 将IoBuffer转换成byte    
  43. * @param str  
  44. */  
  45. public static byte [] ioBufferToByte(Object message)   
  46. {   
  47.       if (!(message instanceof IoBuffer))   
  48.       {   
  49.           return null;   
  50.       }   
  51.       IoBuffer ioBuffer = (IoBuffer)message;   
  52.       byte[] b = new byte[ioBuffer.limit()];   
  53.       ioBuffer.get(b);   
  54.       return b;   
  55. }   
  56. /**  
  57. * 将IoBuffer转换成string    
  58. * @param butBuffer  
  59. */  
  60. public static String ioBufferToString(Object message)   
  61. {   
  62.       if (!(message instanceof IoBuffer))   
  63.       {   
  64.         return "";   
  65.       }   
  66.       IoBuffer ioBuffer = (IoBuffer) message;   
  67.       byte[] b = new byte [ioBuffer.limit()];   
  68.       ioBuffer.get(b);   
  69.       StringBuffer stringBuffer = new StringBuffer();   
  70.   
  71.       for (int i = 0; i < b.length; i++)   
  72.       {   
  73.   
  74.        stringBuffer.append((char) b [i]);   
  75.       }   
  76.        return stringBuffer.toString();   

分享到:
评论

相关推荐

    mina core 包

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

    Apache MINA java UDP例子|byte数组

    最近做rfid读写,C#和java都用udp不用厂家的动态库,udp自己写也简单,但是试了一下Apache mina ,接收的不是string,二十byte[] 数组,简单实现了UDP,网上也有例子,但是不是我要的。可用。

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

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

    mina学习的最佳代码

    4. **Session接口**:在MINA中,Session代表了服务器与客户端之间的连接。它包含了与特定连接相关的状态信息,并提供了读写数据的方法。 5. **Handler接口**:Handler是用户自定义的业务逻辑组件,MINA会调用...

    Mina2中文文档

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

    mina 断包,粘包问题解决

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

    mina自定义编解码器详解

    在mina框架中,编解码器(Codec)扮演着至关重要的角色,它负责将应用层的数据转换为网络传输的字节流,以及将接收到的字节流还原为应用程序可以理解的对象。对于初学者来说,理解和编写自定义的编解码器可能会遇到...

    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...

    springboot整合mina

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

    mina开发实例

    4. **缓冲区管理**:Mina使用IoBuffer作为缓冲区对象,可以方便地进行读写操作,支持字节和对象之间的转换。 5. **性能优化**:Mina提供了池化的缓冲区和连接管理机制,以及心跳检测和空闲策略,以优化网络通信性能...

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

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

    MINA_API+MINA_DOC+mina

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

    mina自定义编码器-自行做会话累积

    在Mina中,编码器(Encoder)是处理数据序列化的重要组件,它负责将对象转换为字节流以便在网络中传输。本项目是关于如何自定义编码器来实现会话累积功能的实践。 首先,我们需要理解Mina中的编码器接口`org.apache...

    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 进行了多方面的性能提升,包括更快的数据...

    mina自定义编码解码器

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

    mina-2.0.4 source code

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

    Apache_MINA_2_用户指南.pdf

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

    Mina+Socket通信

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

    MINA2.0用户手册中文随笔翻译

    NIO(Non-Blocking I/O)是 Java 1.4 中引入的 API,允许非阻塞 IO 操作。NIO 的主要特点是能够提供非阻塞的 IO 操作,提高了系统的性能和效率。NIO 的主要组件包括Buffers、Chartsets、Channels、Selectors 和 ...

    MINA TCP简单通信实例

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

Global site tag (gtag.js) - Google Analytics