博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java——新IO 缓冲区与Buffer
阅读量:6113 次
发布时间:2019-06-21

本文共 2418 字,大约阅读时间需要 8 分钟。

 

缓冲区和Buffer

 

import java.nio.IntBuffer;//=================================================// File Name       :	IntBuffer_demo//------------------------------------------------------------------------------// Author          :	Common//主类//Function        : 	IntBuffer_demopublic class IntBuffer_demo {	public static void main(String[] args) {		// TODO 自动生成的方法存根		IntBuffer buf = IntBuffer.allocate(10);			//开辟10个大小的缓冲区		System.out.print("1.写入数据之前的position、limit和capacity");		System.out.println("position="+buf.position()+"、limit="+buf.limit()+"、capacity="+buf.capacity());		int temp[] = {3,5,7};					//定义整型数组		buf.put(3);									//向缓冲区写入数据		buf.put(temp);							//向缓冲区中写入一组数据		System.out.print("2.写入数据之后的position、limit和capacity");		System.out.println("position="+buf.position()+"、limit="+buf.limit()+"、capacity="+buf.capacity());		buf.flip();						//重设缓冲区,改变指针		System.out.print("3.准备输出数据时的position、limit和capacity");		System.out.println("position="+buf.position()+"、limit="+buf.limit()+"、capacity="+buf.capacity());		while(buf.hasRemaining()){			int x = buf.get();			System.out.print(x+"、");		}	}}

 

 

创建子缓冲区

import java.nio.IntBuffer;//=================================================// File Name       :	IntBuffer_demo//------------------------------------------------------------------------------// Author          :	Common//主类//Function        : 	IntBuffer_demopublic class IntBuffer_demo {	public static void main(String[] args) {		// TODO 自动生成的方法存根				IntBuffer buf = IntBuffer.allocate(10);			//开辟10个大小的缓冲区		IntBuffer sub = null;											//定义缓冲区对象		for(int i=0;i<10;i++){			buf.put(2*i+1);		}		buf.position(2);		buf.limit(6);		sub = buf.slice();				//开辟子缓冲区		for(int i=0;i

 

 

import java.nio.IntBuffer;//=================================================// File Name       :	IntBuffer_demo//------------------------------------------------------------------------------// Author          :	Common//主类//Function        : 	IntBuffer_demopublic class IntBuffer_demo {	public static void main(String[] args) {		// TODO 自动生成的方法存根				IntBuffer buf = IntBuffer.allocate(10);			//开辟10个大小的缓冲区		IntBuffer read = null;											//定义缓冲区对象		for(int i=0;i<10;i++){			buf.put(2*i+1);		}		read = buf.asReadOnlyBuffer();			//创建只读缓冲区		buf.flip();			//重设缓冲区		System.out.println("主缓冲区中的内容:");		while(buf.hasRemaining()){			int x = buf.get();					//取出当前内容			System.out.print(x+"、");		}		System.out.println();		read.put(30);			//错误,不可写	}}

 

 

转载地址:http://cmcka.baihongyu.com/

你可能感兴趣的文章
Mybatis常见面试题(转)
查看>>
Getting started with OpenCL and GPU Computing
查看>>
Django通过pycharm创建后,如何登录admin后台?
查看>>
高压缩文件是如何实现的?
查看>>
POJ 3210 : Coins
查看>>
Hacking Tools
查看>>
null和undefined相等比较
查看>>
pthread_cleanup_push vs Autorelease VS 异常处理
查看>>
Java锁机制(一)synchronized
查看>>
深度学习课程笔记(十二) Matrix Capsule
查看>>
如何让A20,android开机自动启动C程序【转】
查看>>
Unix环境高级编程(十六)进程间通信
查看>>
欧拉回路与欧拉路径
查看>>
通过k8s(Kubernetes)搭建jmeter的压测环境master-slave架构,实现弹性伸缩
查看>>
【laravel5.4】迁移文件的生成、修改、删除
查看>>
Match function in R
查看>>
python 普通方法,@classmethod,@staticmethod
查看>>
利用MYSQL的加密解密办法应对三级安全等级保护
查看>>
k8s 各种网络方案 - 每天5分钟玩转 Docker 容器技术(170)
查看>>
Nancy之基于Nancy.Hosting.Self的小Demo
查看>>