Java 新I/O 通道和缓冲器
来源:互联网 发布:英文阅读书籍软件 编辑:程序博客网 时间:2024/05/16 15:04
package io;import java.nio.*;import java.nio.channels.*;import java.io.*;/* * 三种类型的流用以产生可写的,可读的,可读可写的通道。 * getChannel()将会产生一个FileChannel通道,可以向他传送用于读写的ByteBuffer,并且可以锁定文件的某些区域用于独占式访问。 * 将字节放于ByteBuffer中的方法用put方法,也可以用wrap方法将以存在的字节数组包装到ByteBuffer中。一旦如此,就不会复制底层的数组 * 而是把它作为所产生ByteBuffer的存储器,称之为数组支持的ByteBuffer。 * 一旦调用read()来告知FileChannel向ByteBuffer存储字节,就必须调用缓冲器上的flip(),让他做好别人读取字节的准备。*/public class GetChannel { private static final int BSIZE = 1024; @SuppressWarnings("resource")public static void main(String[] args) throws Exception { // Write a file: @SuppressWarnings("resource")FileChannel fc = new FileOutputStream("data.txt").getChannel(); fc.write(ByteBuffer.wrap("Some text ".getBytes())); fc.close(); // Add to the end of the file: fc = new RandomAccessFile("data.txt", "rw").getChannel(); fc.position(fc.size()); // Move to the end fc.write(ByteBuffer.wrap("Some more".getBytes())); fc.close(); // Read the file: fc = new FileInputStream("data.txt").getChannel(); ByteBuffer buff = ByteBuffer.allocate(BSIZE); fc.read(buff); buff.flip(); while(buff.hasRemaining()) System.out.print((char)buff.get()); }} /* Output:Some text Some more*///:~
0 0
- Java 新I/O 通道和缓冲器
- Java I/O的缓冲器细节
- I/O通道
- Java SE --- 新I\O
- 【JAVA核心技术】新I/O
- Java 新I/O类库
- Java 7之异步I/O第5篇 - 异步I/O操作之通道
- Java 7新I/O特性解析
- Java 文件和 I/O
- 新I/O
- 新 I/O
- 新I/O
- I/O系统:中断、DMA、通道
- java编程思想读书笔记 第十八章 java I/O系统(第四篇 新I/O)
- Java的新I/O(java.nio包)
- Java IO 新I/O Java编程思想读书笔记
- Java 2标准版 1.4的新I/O功能
- Java基础增强 : 新I/O中内存映射文件
- linux终端 字符界面 显示乱码
- 九龙_Java开发之路_1
- [iOS]App上架流程[利用Archive进行上传]
- 专业治疗选择困难症----帮你做选择
- web采用MQTT协议远程控制LED灯
- Java 新I/O 通道和缓冲器
- jQuery中serializeArray serialize()区别
- python sorted()函数
- arcgis 坐标系
- hadoop学习资料
- 20160509 SQL_通配符
- How to Access Git Repository via SSH
- Bootstrap使用记录–paginator分页
- 什么是对象?