`

NIO基础知识2

    博客分类:
  • NIO
阅读更多
asCharBuffer()一次可以输出缓冲区中信息。使用方法为:

   ByteBuffer buffer=ByteBuffer.allocate(1024);
   System.out.println(buffer.asCharBuffer());



//这个地方注意:普通缓冲器容纳的是普通字节,假如把它们转换成字符,要在输入他们的时候进行编码,代码如下:

public class BufferToText {

	private static final int BSIZE=1024;
	public static void main(String[] args) throws Exception{
		FileChannel fc=new FileOutputStream("D:\\data2.txt").getChannel();
		fc.write(ByteBuffer.wrap("some txtx".getBytes()));
		fc.close();
		fc=new FileInputStream("D:\\data2.txt").getChannel();
		ByteBuffer buffer=ByteBuffer.allocate(BSIZE);
		fc.read(buffer);
		buffer.flip();
		
		//while(buffer.hasRemaining())
			//System.out.print((char)buffer.get());
		
//注意:这个地方按照上面输出不会出现乱码,但直接转换成字符会出现乱码
		System.out.println(buffer.asCharBuffer());
		
		
		buffer.rewind();//为了返回到数据开始的部分
		
		
		String encoding=System.getProperty("file.encoding");
		System.out.println("decode using "+encoding+":"+Charset.forName(encoding).decode(buffer));
		fc=new FileOutputStream("D:\\data2.txt").getChannel();
		fc.write(ByteBuffer.wrap("Some text2".getBytes("UTF-16BE")));
		fc.close();
		fc=new FileInputStream("D:\\data2.txt").getChannel();
		buffer.clear();
		fc.read(buffer);
		buffer.flip();
                  //在数据读入到缓冲区之前对他进行编码,这样不会出现乱码
		System.out.println(buffer.asCharBuffer());
		
		
		
		
	}
}
分享到:
评论

相关推荐

    NIO2基础介绍

    下面是对NIO2基础的介绍,包括文件路径、Path类简介、符号链接等知识点。 文件路径是指文件在文件系统中的位置,文件系统可以是树形结构,每个文件都有唯一的文件路径,用于标识文件的位置。在文件系统中,每个文件...

    Java I-O NIO and NIO2

    Java I/O, NIO以及NIO2是Java编程语言中处理输入输出操作的重要API...本书的目标读者是具有一定Java基础的中级到高级开发人员,它将帮助开发者深入了解Java I/O、NIO以及NIO2技术,并且能够在实际开发中运用这些知识。

    NIO与零拷贝_javanio_nio和零拷贝_

    1. **NIO基础** - **通道(Channels)**:通道类似于流,但它是双向的,可以读也可以写。常见的通道有FileChannel、SocketChannel、ServerSocketChannel等。 - **缓冲区(Buffers)**:NIO的核心组件,用于存储...

    Pro Java 7 NIO2

    ### Pro Java 7 NIO2:深入理解Path类与文件系统操作 #### 一、引言 《Pro Java 7 NIO2》是一本专注于Java 7中的新I/O(NIO.2)特性的书籍,它介绍了如何利用Java 7的新特性来处理文件和网络操作。本书的核心在于...

    《NIO与Socket编程技术指南》_高洪岩

    1. NIO基础:介绍NIO的基本概念,如通道、缓冲区、选择器以及它们之间的交互。 2. 文件操作:讲解如何使用NIO进行文件的读写操作,包括文件通道和MappedByteBuffer的使用。 3. 非阻塞I/O:对比NIO和BIO,解释非阻塞I...

    nio入门 IBM教材,pdf格式

    #### 二、NIO 的基础概念 - **缓冲区(Buffer)**:缓冲区是 NIO 中的核心概念之一,用于存储不同类型的数据。Buffer 可以看作是一块内存区域,用来存放从通道读取的数据或准备写入通道的数据。 - **通道(Channel)**...

    NIO思维导图学习资料

    nio思维导图:适用于有一定编程基础的朋友,想系统学习NIO这块知识的朋友。知识点大体分3块:1:>概念了解(各类IO) 2>NIO的核心(缓存区,通道等) 3>网络IO

    NIO按行读取数据

    1. **NIO基础知识**: - **FileInputStream**:这是Java IO中的类,用于读取文件内容。 - **FileChannel**:NIO中的核心组件,允许通过通道进行高效的数据传输。 - **MappedByteBuffer**:文件映射缓冲区,它允许...

    Java springboot 整合mina 框架,nio通讯基础教程,mina框架基础教程.zip

    在这个压缩包中,包含了“Java_NIO基础视频教程”和“MINA视频教程”,你可以通过观看这些教程,了解和学习NIO和Mina的基本用法。同时,“Netty快速入门视频(52im.net).txt”虽然不是直接与Mina相关的,但Netty也是...

    java NIO推送实例

    1. **Java NIO基础** - **通道(Channels)**:Java NIO 提供了多种通道,如文件通道、套接字通道等,它们代表不同类型的I/O操作。 - **缓冲区(Buffers)**:数据在通道和应用程序之间传输时会存储在缓冲区中,...

    Novation诺维逊 Nio 2&4 用户说明书.pdf

    1. **印刷版快速入门指南** - 用于指导安装过程、插线以及基础操作知识。 2. **资源光盘** - 包含安装程序和完整用户指南的PDF版本。 3. **USB线缆** - 安装完成后用于连接计算机。 4. **免费软件光盘(如Xcite+套件...

    从NIO到Netty,编程实战出租车905协议-08172347.pdf

    第2章,介绍在Socket编程过程中一些基础知识,让大家建立起对这块知识内容的一个整体轮廓; 第3章,结合905.4-2014协议的基本内容,动手实现NIO长连接服务端的实现,以及协议内容的设计和实现思路; 第4章,实现长...

    Java.NIO资源下载资源下载

    根据提供的文件信息,我们可以提取并总结出关于Java NIO(New Input/Output)的重要知识点。 ### Java NIO 概述 Java NIO 是 Java 平台的一个重要特性,首次出现在 Java 1.4 版本中。它为 Java 开发者提供了一套...

    java NIO详细教程

    - **缓冲区(Buffer)**:缓冲区是Java NIO中数据读写的基础单元。根据数据类型的不同,Java NIO 提供了多种缓冲区: - **ByteBuffer**:用于基本字节数据的缓冲。 - **CharBuffer**:用于字符数据的缓冲。 - **...

Global site tag (gtag.js) - Google Analytics