NIO初步学习
来源:互联网 发布:网络错误403 编辑:程序博客网 时间:2024/09/21 09:21
nio主要有channel、buffer、selector组成,java nio中文件系统是阻塞的,不会用到selsector。
buffer读和写的暂存容器和channel配合使用,四个属性mark,position,limit,capacity。方法包括filp()、clear()、
channel是client与io设备之间读写的交通通道,数据xianfangdaobuffer,再经过channerl写入设备,或者channerl里面读取数据
selecrort提供时间通知机制
下面是代码,将一个大文件通过nio分成多个小文件(中文会出现乱码,用的是字节流)
import java.io.*;import java.nio.ByteBuffer;import java.nio.channels.FileChannel;/** * Created by doshest on 2016/10/11. */public class NioTest { public static void main(String args[])throws IOException{ FileInputStream fis = new FileInputStream("D:\\IdeaProjects\\javaproject\\src\\catalina.out"); FileChannel fc=fis.getChannel(); ByteBuffer buffer= ByteBuffer.allocate(1024*1024*1); int j=0; while(true){ buffer.clear(); int flag=fc.read(buffer); System.out.println(flag); if(flag==-1){ break; } buffer.flip(); OutputStream os; FileOutputStream fos=new FileOutputStream((j++)+".out"); FileChannel fcout= fos.getChannel(); fcout.write(buffer); } }}
0 0
- NIO初步学习
- Java.nio初步了解和学习
- java nio编程学习笔记(1)--初步了解nio
- Java nio初步了解
- Java NIO初步了解
- Java NIO(一) 初步理解NIO
- NIO学习
- Nio学习
- 学习NIO
- nio 学习
- NIO学习
- NIO学习
- 学习NIO
- NIO 学习
- NIO学习
- NIO学习
- NIO学习
- NIO学习
- 深入理解 Java中的 流 (Stream)
- 简单新闻客户端(7)---图片加载过多导致的Fatal signal 11 (SIGSEGV)
- 使用Cjson在C语言进行Json的创建和解析
- javax.persistence.Table.indexes()[Ljavax/persistence/Index
- 《Python之禅》中对于Python编程过程中的一些建议
- NIO初步学习
- RBTree和AVLtree
- 六、Linux 目录结构路径
- 单调队列专题
- Centreon+Nagios实战第九篇——利用nrpe插件监控本机
- 海明码校验
- 【机器学习】SVM学习(六):将SVM用于多类分类
- [实战]网页版计算器的编写
- 欢迎使用CSDN-markdown编辑器