`
liuzhaomin
  • 浏览: 204835 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

NIO字符集操作

 
阅读更多

 

示例程序

在打开相应的文件、将输入数据读入名为 inputData 的 ByteBuffer 之后,我们的程序必须创建 ISO-8859-1 (Latin1) 字符集的一个实例:

Charset latin1 = Charset.forName( "ISO-8859-1" );


然后,创建一个解码器(用于读取)和一个编码器 (用于写入):

CharsetDecoder decoder = latin1.newDecoder();
CharsetEncoder encoder = latin1.newEncoder();


为了将字节数据解码为一组字符,我们把 ByteBuffer 传递给 CharsetDecoder,结果得到一个 CharBuffer:

CharBuffer cb = decoder.decode( inputData );


如果想要处理字符,我们可以在程序的此处进行。但是我们只想无改变地将它写回,所以没有什么要做的。

要写回数据,我们必须使用 CharsetEncoder 将它转换回字节:

ByteBuffer outputData = encoder.encode( cb );


在转换完成之后,我们就可以将数据写到文件中了。 
 

 

 

 

分享到:
评论

相关推荐

    NIO学习系列:文件锁定和字符集

    在Java的NIO(New Input/Output)库中,文件锁定和字符集是两个重要的概念。文件锁定用于在多线程或分布式系统中确保对文件的独占访问,而字符集则是处理文本数据时用于编码和解码字符的关键组件。在本篇中,我们将...

    关于字符集编码

    在Java编程语言中,字符集编码涉及到java.nio.charset.Charset类,它为不同编码提供了编程支持。java.io.InputStreamReader类用于基于字符集的字符流输入,可以在读取文件或数据流时指定字符集,以正确显示字符内容...

    Java中的字符集编码入门(二)编码字符集与字符集编码的区别[参考].pdf

    在Java开发中,处理字符串时,我们需要关注字符集编码问题,特别是在读写文件、网络传输或者数据库操作中。使用不当可能导致乱码问题。Java提供了java.nio.charset包来处理字符编码,例如使用Charset类进行编码和...

    java 字符集的解码方法

    `java.nio.charset.Charset`提供了各种字符集的支持,你可以通过`Charset.availableCharsets()`获取所有可用的字符集。 Java中进行字符集解码主要使用`InputStreamReader`和`BufferedReader`类。`InputStreamReader...

    JAVA字符集

    Java的`java.nio`包提供了更高级的字符集处理功能,如`CharsetDecoder`和`CharsetEncoder`,允许更精细的控制编码和解码过程。此外,`java.net.URLDecoder`和`java.net.URLEncoder`则用于处理URL中的编码问题,URL...

    Java字符集[定义].pdf

    Java的`java.nio.charset.Charset`类是字符集的核心,它提供了对不同字符集的支持。通过`Charset.forName("charsetName")`可以获取特定字符集的实例。 5. 编码转换 `java.nio.charset.CharsetEncoder`和`...

    基于java NIO的socket通信demo

    在这个“基于java NIO的socket通信demo”中,我们将探讨如何使用NIO进行服务器和客户端的Socket通信,并解决通信过程中的字符集乱码问题。 首先,我们来看`NioServer.java`。这个文件中包含了一个基于NIO的服务器端...

    尚硅谷Java视频_NIO 视频教程

    ·00. 尚硅谷__NIO__源码、课件 ·... 尚硅谷_NIO_字符集 Charset ·08. 尚硅谷_NIO_阻塞与非阻塞 ·09. 尚硅谷_NIO_阻塞式 ·10. 尚硅谷_NIO_非阻塞式 ·11. 尚硅谷_NIO_DatagramChannel ·12. 尚硅谷_NIO_Pipe 管道

    Web下Java语言如何访问不同字符集的Oracle数据.pdf

    总结起来,Java在Web环境下访问不同字符集的Oracle数据时,需要理解并处理Java和Oracle字符集的差异,通过设置JVM、数据库连接参数以及编码/解码操作来确保数据的一致性和准确性。同时,开发者应该熟悉Oracle的NLS...

    Java NIO入门的源码

    5. **字符集(Charsets)**:NIO提供了更强大的字符集支持,用于编码和解码字符串。 6. **管道(Pipes)**:管道是两个线程间通信的通道,一个线程写入数据,另一个线程读取数据。 现在我们来看一下源码学习的重点: ...

    nio.rar_Java识别_java nio

    在本主题中,我们将探讨如何利用Java NIO和charset来自动识别字符集。 首先,让我们理解Java NIO中的关键组件: 1. **通道(Channels)**:通道类似于流,但它们可以同时读写数据,且与缓冲区直接交互。常见的通道...

    Java NIO测试示例

    NIO提供了Charset类来处理字符编码和解码,支持多种字符集,如UTF-8、GBK等。 8. **内存映射文件(Memory-Mapped File)**: 使用MappedByteBuffer,NIO可以将文件映射到内存,使得文件操作如同操作内存一样快速...

    NIO.rar_NIO_java nio

    NIO提供Charset和CharsetDecoder/Encoder类,用于字符集的编码和解码,使得在不同字符集之间进行转换变得更加方便。 总结来说,Java NIO提供了更高效、灵活的I/O处理机制,特别是对于高并发、大数据量的场景,NIO...

Global site tag (gtag.js) - Google Analytics