`
JavaSam
  • 浏览: 939071 次
  • 性别: 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());
		}
	}
}
 
分享到:
评论

相关推荐

    NIO(byteBuffer)按行读取文件

    使用nio byteBuffer 实现按行读取文件(大文件) 在window/linux/macOS上均测试通过 对于中文乱码也已处理成功 完整注释,可随需求更改 有问题请邮件:mly610865580@126.com

    JavaNIO.pdf

    Java NIO(Non-blocking I/O)是Java平台中的一种I/O处理方式,它提供了面向缓冲区的I/O处理机制,可以实现高性能、高效的I/O操作。 缓冲区(Buffer) 缓冲区是Java NIO中非常重要的一个概念,它是特定基本类型...

    Java面试题大汇总(2021年Java面试题大全带答案)

    Java中的I/O操作可以实现多种文件操作方式,包括文件读取、文件写入、文件拷贝等。Java中的I/O操作可以分为字节流和字符流两种。字节流继承于InputStream和OutputStream,字符流继承于Reader和Writer。 Java文件...

    muyinchen#woker#07 Java的NIO之FileChannel1

    7.1 打开一个FileChannel 7.2 从FileChannel通道中读取数据 7.3 向FileChannel中写入数据: 7.4 关闭FileCha

    使用NIO提高Java应用输入输出性能.pdf

    NIO 模型提供了一些新的功能,如块操作、字符集编码解码解决方案、锁功能、内存映射文件以及多路非阻塞式网络 I/O 等,能够满足开发人员的需求,提高开发效率。 NIO 模型的优点包括: * 高性能:NIO 模型可以提高...

    JavaNIO chm帮助文档

    Java NIO系列教程(七) FileChannel Java NIO系列教程(八) SocketChannel Java NIO系列教程(九) ServerSocketChannel Java NIO系列教程(十) Java NIO DatagramChannel Java NIO系列教程(十一) Pipe Java ...

    java网络编程NIO视频教程

    04-Java NIO-Channel-FileChannel(介绍和示例).mp4 05-Java NIO-Channel-FileChannel详解(一).mp4 06-Java NIO-Channel-FileChannel详解(二).mp4 07-Java NIO-Channel-Socket通道-概述.mp4 08-Java NIO-Channel-...

    flume中的FileChannel的优化

    经过对Flume FileChannel相关源码的分析,导致FileChannel吞吐率下降的主要原因集中于事务的提交过程——commit

    编写一个java应用程序将一个包含多个子目录和文件的目录复制到另外一个指定的目录下

    import java.nio.channels.FileChannel; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import javax.swing.filechooser.FileFilter; 实验...

    Java NIO实战开发多人聊天室

    05-Java NIO-Channel-FileChannel详解(一).mp4 06-Java NIO-Channel-FileChannel详解(二).mp4 08-Java NIO-Channel-ServerSocketChannel.mp4 09-Java NIO-Channel-SocketChannel.mp4 10-Java NIO-Channel-...

    java pdf 查看器

    import java.nio.channels.FileChannel; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.Box; import ...

    【IT十八掌徐培成】Java基础第26天-06.FileChannel-RandomAccessFile-CopyFile.zip

    【IT十八掌徐培成】Java基础第26天-06.FileChannel-RandomAccessFile-CopyFile.zip

    mina:Java Nio Apache Mina Java Nio

    通道表示到实体,如硬件设备、文件、网络套接字或可以执行一个或多个不同 I/O 操作(如读取或写入)的程序组件的开放的连接。 在以往的java的IO操作的过程中都是面向字节流操作,并且读写操作是单向的操作,而在java...

    【Sansui】java各种流整理demo

    java各类IO流的整理demo,其内包含InputStream/OutputStream BufferedReader流 FileOutputStream/FileInputStream流 PrintWriter流 DataOut/DataIn流 Object流 FileChannel类;

    详解java nio中的select和channel

    Java NIO(New I/O)是 Java 1.4 中引入的一种新的 I/O 方式,它提供了异步非阻塞的 I/O 模式,极大地提高了服务器的性能和可扩展性。在 Java NIO 中,Select 和 Channel 是两个核心概念,本文将详解 Java NIO 中的 ...

    sambox:一个PDFBox分支,打算用作Sejda和PDFsam的PDF处理程序

    SAMBox使用允许使用基于java.nio.channels.FileChannel , java.io.InputStream和java.nio.MappedByteBuffer的提供的实现之一(是否缓冲)。 通过使用java.lang.StringBuilder池最小化GC。 通过绑定视图的概念直接...

    java 工具包 h264转码MP4 支持html5播放格式

    H264TrackImpl h264TrackImpl = new H264TrackImpl(new ... FileChannel fChannel = new FileOutputStream(new File("C://a.mp4")).getChannel(); mp4f.writeContainer(fChannel); fChannel.close();

    卫斯理合集 倪匡

    ByteBuffer wrap = ByteBuffer.wrap("\r\n".getBytes()); outChannel.write(wrap); FileChannel fc = new FileInputStream(f).getChannel(); ByteBuffer bb = ByteBuffer.allocate(BUFSIZE); while(fc.read(bb)...

    ioagogo:Java IO 基准测试

    IOAGoGo! IOAGoGo 是一个使用核心 Java 中可用的各种不同方法进行基本 IO 基准测试的库。 它是可扩展的,应该可以在 Java 所在的... 这次运行表明,使用直接分配的 ByteBuffer 和 FileChannel 读取至少 32KB,但不

    2021最新-Java NIO视频教程-视频教程网盘链接提取码下载 .txt

    教程内容涵盖:阻塞和非阻塞IO、Channel通道、Buffer缓冲区、Selector选择器、Pipe管道、FileLock文件锁,以及Path、Files、异步FileChannel和Charset字符编码等,并通过一个多人聊天室的综合案例,把所有的NIO知识...

Global site tag (gtag.js) - Google Analytics