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

JAVA 新I/O 之 FileChannel,ByteBuffer

    博客分类:
  • JAVA
 
阅读更多
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.RandomAccessFile;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

public class GetChannel {

	static final int BSIZE = 1024;

	public static void main(String[] args) throws Exception {
		FileChannel channel = new FileOutputStream("data.txt").getChannel();
		channel.write(ByteBuffer.wrap("Some text".getBytes()));
		channel.close();

		channel = new RandomAccessFile("data.txt", "rw").getChannel();
		channel.position(channel.size());// 移动到文件结尾
		channel.write(ByteBuffer.wrap(" Some more".getBytes()));
		channel.close();

		channel = new FileInputStream("data.txt").getChannel();
		ByteBuffer buffer = ByteBuffer.allocate(BSIZE);
		channel.read(buffer);
		buffer.flip();// 反转此通道
		while (buffer.hasRemaining()) {
			System.out.println((char) buffer.get());
		}
	}
}
 
分享到:
评论

相关推荐

    Java 新I/O

    Java 新I/O,也称为NIO(New Input/Output),是Java平台中对传统I/O模型的一种改进。在Java 1.4版本中引入的NIO库为开发人员提供了更高效、非阻塞的数据处理方式,特别适用于高并发、低延迟的系统。NIO的核心在于...

    Java I/O系统

    Java I/O系统是Java编程语言中的一个重要组成部分,它允许程序进行输入输出操作,与外部世界进行数据交互。在Java中,I/O系统基于流的概念,流可以被视为数据的流动渠道,既可以用来读取数据(输入流),也可以写入...

    NIO与I/O的区别

    标题“NIO与I/O的区别”涉及到的是Java编程中关于输入/输出(I/O)模型与新I/O(New I/O,NIO)模型的对比。这两种模型在处理数据流时有不同的特性和适用场景,理解它们的区别对于优化Java程序的性能至关重要。 I/O...

    jdk6.0从入门到精通-----chapter5网络编程 新I/O(含源码下载)

    在Java编程领域,JDK(Java Development Kit)是开发和运行Java应用程序的基础,而JDK 6.0是Oracle公司发布的较早版本之一,对于学习Java的初学者来说,它是入门的重要工具。本章节我们将深入探讨JDK 6.0中的网络...

    Java NIO学习笔记——ByteBuffer用法

    总的来说,掌握Java NIO中的ByteBuffer用法对于编写高性能的I/O密集型应用至关重要。通过熟练运用ByteBuffer,开发者可以设计出更高效的网络服务器、文件处理程序以及其他需要大量I/O操作的系统。

    java NIO用法及java fork/join 用法源码工程

    Java NIO(非阻塞I/O)是一种在Java中处理I/O操作的新方式,相比于传统的BIO(阻塞I/O),NIO具有更高的并发性能,尤其适用于需要处理大量并发连接的服务器应用。以下是对NIO核心概念的详细解释: 1. **通道...

    深入Java NIO:释放IO性能的新维度

    `ByteBuffer`是Java NIO中最常用的缓冲区实现之一,主要用于字节数据的读写操作。`ByteBuffer`支持容量(capacity)、位置(position)、界限(limit)等属性,通过这些属性可以精确控制数据的读写位置。下面是一个简单的`...

    JavaNIO.pdf

    Java NIO(New I/O,非阻塞I/O)是Java提供的一种用于替代标准Java I/O API的I/O操作方式,用于提高网络和文件I/O性能。NIO引入了新的抽象组件,包括Buffer、Channels和Selectors等,具有面向缓冲区、基于通道、选择...

    JavaIODemo-master.zip

    2. **缓冲区技术**:Java中的Buffer类(如ByteBuffer、CharBuffer等)提高了I/O性能,通过批量处理数据减少了磁盘或网络的交互次数。BufferedReader和BufferedWriter是字符流中的缓冲实现,它们在内部维护一个缓冲区...

    Java IO

    Java NIO是Java Non-Blocking IO的缩写,指的是Java的新I/O API。Java NIO在Java1.4版中引入,其目的是为了提高I/O操作的性能。本书作者Ron Hitchens深入探讨了Java NIO的新特性,教读者如何使用这些特性来提升Java...

    新输入输出NIO

    新输入输出(NIO)是Java 1.4版本中引入的一个重要改进,它提供了高效、面向块的I/O操作,弥补了传统I/O(基于流的I/O)的性能限制。NIO库的设计目标是允许Java程序员实现高速I/O而无需编写本机代码,通过将耗时的I/...

    java nio 读文件

    Java NIO(New IO)是Java 1.4版本引入的一个新模块,它提供了一种不同于标准Java IO API的处理I/O操作的方式。NIO的主要特点是面向缓冲区,非阻塞I/O,以及选择器,这些特性使得NIO在处理大量并发连接时表现出更高...

    javaNiO.doc

    在Java的世界里,I/O(Input/Output)操作是程序与外部环境进行交互的重要方式之一。随着技术的发展,传统I/O模型逐渐显露出一些局限性,特别是在处理高并发场景下,其效率问题尤为突出。为了解决这些问题,Java平台...

    Java Nio ibm技术文档

    ### Java NIO (New Input/Output):IBM技术文档概览...同时,NIO库还提供了一系列高级特性,如异步I/O和直接缓冲区,进一步增强了Java在高性能I/O处理方面的实力。希望本文档能够成为Java开发者学习NIO的重要参考资料。

Global site tag (gtag.js) - Google Analytics