了解一下JAVA中的NIO模块
网上资料大把,但要写写代码,我这个年纪的人才有一点点记忆了。。
参考URL:
http://blog.csdn.net/wuxianglong/article/details/6612282
package com.cg.io;import java.io.*; import java.nio.*; import java.nio.channels.*;public class TestIntBuffer {static private final byte message[] = {83, 111, 109, 101, 32, 98, 98};static private String fileName = "d:\\hehehe\\test.txt";public static void main(String[] args) throws Exception {FileOutputStream fout = new FileOutputStream(fileName);FileChannel fc = fout.getChannel();ByteBuffer byteBuffer = ByteBuffer.allocate(1024);output("初始化", byteBuffer);for (int i=0; i<message.length; ++i) {byteBuffer.put(message[i]);}byteBuffer.flip();output("调用flip()", byteBuffer);fc.write(byteBuffer);output("调用write()", byteBuffer);fout.close();byteBuffer.clear();output("调用clear()", byteBuffer);FileInputStream fin = new FileInputStream(fileName);fc = fin.getChannel();fc.read(byteBuffer);output("调用read()", byteBuffer);byteBuffer.flip();output("调用flip()", byteBuffer);while (byteBuffer.remaining() > 0) {byte b = byteBuffer.get();System.out.print(((char)b));}output("调用getChannel()", byteBuffer);byteBuffer.clear();output("调用clear()", byteBuffer);fin.close();IntBuffer intBuffer = IntBuffer.allocate(8);for (int i=0; i < intBuffer.capacity(); ++i) {int j = 2 * (i + 1);intBuffer.put(j);}intBuffer.flip();while (intBuffer.hasRemaining()) {int j = intBuffer.get();System.out.print(j + " ");}}public static void output(String step, Buffer buffer){System.out.println(step + " : ");System.out.println("capacity: " + buffer.capacity() + ", ");System.out.println("position: " + buffer.position() + ", ");System.out.println("limit: " + buffer.limit() + ", ");System.out.println();} }
了解一下JAVA中的NIO模块相关推荐
- java中的NIO和IO到底是什么区别?20个问题告诉你答案
摘要:NIO即New IO,这个库是在JDK1.4中才引入的.NIO和IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO高很多. 本文分享自华为云社区<jav ...
- java中io.nio.aio_Java中网络IO的实现方式-BIO、NIO、AIO
在网络编程中,接触到最多的就是利用Socket进行网络通信开发.在Java中主要是以下三种实现方式BIO.NIO.AIO. 关于这三个概念的辨析以前一直都是好像懂,但是表达的不是很清楚,下面做个总结完 ...
- java中的NIO,BIO,AIO
IO,input和output,Java 为 I/O 提供了强大的而灵活的支持,使其更广泛地应用到文件传输和网络编程中. IO是什么?为什么需要IO? java在1.4之前,提供的是BIO,也就是ja ...
- IO之 java中BIO NIO AIO原理、区别以及应用
在本篇文章中,我们主要介绍一下java中的BIO NIO AIO,重点是NIO 先说一下同步.异步.阻塞和非阻塞. 简单来讲,同步和异步是针对内核和应用程序之间的交互而言的:阻塞和非阻塞其实是针对进程 ...
- JAVA 中BIO,NIO,AIO的理解
[转自]http://qindongliang.iteye.com/blog/2018539 在高性能的IO体系设计中,有几个名词概念常常会使我们感到迷惑不解.具体如下: 序号 问题 1 什么是同步? ...
- Java中的NIO非阻塞编程
在JDK1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞API.对于大多数应用来说,这样的API使用很方便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为 ...
- 深入理解JAVA中的NIO
2019独角兽企业重金招聘Python工程师标准>>> 前言: 传统的 IO 流还是有很多缺陷的,尤其它的阻塞性加上磁盘读写本来就慢,会导致 CPU 使用效率大大降低. 所以,jdk ...
- java 中的NIO
NIO 概念 NIO: New IO. Non-Blocking IO. NIO 是JDK1.4的时候出现了⼀个新的IO, ⽤来替代传统的IO流. NIO与IO有着相同的功能, 但是操作的⽅法不同.J ...
- Java中BIO,NIO,AIO
这里建议不太清楚这个三个概念的可以看我的这篇文章,通俗易懂http://blog.csdn.net/sky_100/article/details/77603576 一.BIO 在JDK1.4出来之前 ...
最新文章
- 明年迎来AI泡沫集体爆发?不,融资将再创新高,但这或许是最后一次狂欢
- 查看哪个进程占用端口
- 目标检测优化2021
- 领扣(LeetCode)最长公共前缀 个人题解
- 【NLP】BERT蒸馏完全指南|原理/技巧/代码
- [C++STL]set容器用法介绍
- java获取行号_java – 如何获取一个方法的行号?
- 谨防职业病 IT人士必不可少的四类食物
- cmd进入mysql界面的命令
- Java对象转Map的解决办法_java对象转map怎么操作?map如何转化成Java对象?
- 构建人人网社会化推荐引擎
- 计算机添加usb网络打印机,电脑USB连接打印机怎么共享给别的电脑?
- win10天气是英文的
- 活动桌面处理和一个例子
- vue金额数字转大写的方法
- 计算机上根号是哪一个,电脑上怎么哪个键是数学中的开根号啊
- java float类型是否为空_java – 如何使float类型的变量为null
- miscellaneous_7
- 在计算机应用领域中深蓝,2015年计算机二级MS Office习题及答案解析(13)
- 每日新闻摘要,19/4/10:随着Exodus投放iOS设备,间谍软件不仅适用于Android