nio channel几个API学习(一)
来源:互联网 发布:2016网络营销策划方案 编辑:程序博客网 时间:2024/06/05 08:43
花了些时间,参考了并发编程网和java nio 一书 ,对nio进行了片面的了解,废话不多说,直接上代码
package Demo1;import java.io.RandomAccessFile;import java.nio.ByteBuffer;import java.nio.channels.FileChannel;public class FileChannalDemo {public static void main(String[] args) {try {RandomAccessFile aFile = new RandomAccessFile("D:\\2.txt", "rw");FileChannel inChannel = aFile.getChannel();ByteBuffer buf = ByteBuffer.allocate(48);//创建一个可存储空间为48字节的缓冲区//CharBuffer cuf = CharBuffer.allocate(48);创建一个可存储空间为48字符的缓冲区//从Channel写入到bufferint bytesRead = inChannel.read(buf);while(bytesRead !=-1 ){System.out.println("read:"+bytesRead);buf.flip();//翻译为翻转,但理解更偏向于重置,将limit重置为poistion,将poistion重置为0;while(buf.hasRemaining()){System.out.println((char)buf.get()+"===");//从缓冲区中读入一个字节}buf.clear();//一旦读完Buffer中的数据,需要让Buffer准备好再次被写入。可以通过clear()或compact()方法来完成。//如果调用的是clear()方法,position将被设回0,limit被设置成 capacity的值。换句话说,Buffer 被清空了。Buffer中的数据并未清除,只是这些标记告诉我们可以从哪里开始往Buffer里写数据。//如果Buffer中有一些未读的数据,调用clear()方法,数据将“被遗忘”,意味着不再有任何标记会告诉你哪些数据被读过,哪些还没有。bytesRead = inChannel.read(buf);}aFile.close();//RandomAccessFile可以关闭飞空通道} catch (Exception e) {e.printStackTrace();}}}
阅读全文
0 0
- nio channel几个API学习(一)
- Netty学习之NIO---通道Channel(一)
- Java NIO学习5(通道Channel)
- Java NIO系列教程(一) Java NIO 概述 Channel
- Java NIO系列教程(一) Java NIO 概述 Channel
- Java nio 学习笔记(一) Buffer(缓冲区)与Channel(通道)的相关知识
- Java nio 学习笔记(一) Buffer(缓冲区)与Channel(通道)的相关知识
- Java nio 学习笔记(一) Buffer(缓冲区)与Channel(通道)的相关知识
- Java nio 学习笔记(一) Buffer(缓冲区)与Channel(通道)的相关知识
- Java nio 学习笔记(一) Buffer(缓冲区)与Channel(通道)的相关知识
- Java nio 学习笔记(一) Buffer(缓冲区)与Channel(通道)的相关知识
- java学习-NIO(三)Channel
- Java NIO之Channel学习
- java NIO Channel 学习总结
- 【Java.NIO】API —— Channel接口
- 《Java NIO》学习笔记三 通道(Channel)
- NIO学习笔记——通道(channel)详解
- NIO学习(一)
- Watch presentations from R/Finance 2017
- java web上传文件至非项目路径并配置tomcat虚拟路径进行下载
- MySQL中的空值,null检索的问题
- 解决 Successfully created project '' on GitHub, but initial push failed: Could not read from remote re
- nginx内置变量
- nio channel几个API学习(一)
- ArrayList和Vector的区别,HashMap和Hashtable的区别
- Mixed mode assembly is built against version 'v1.1.4322' of the runtime and...问题——C# DirectXSound
- 浅析HTTPS中间人攻击与证书校验
- 【数据库-MySql】函数-遍历一个表,并修改状态
- 让listview的某一行item不能点击
- mui页面传参 页面跳转事件委托
- kafka-clients 0.10 消息生产者
- beEF安装