ByteBuffer allocate(int capacity) //创建一个指定capacity的ByteBuffer。
ByteBuffer allocateDirect(int capacity) //创建一个direct的ByteBuffer,这样的ByteBuffer在参与IO操作时性能会更好
ByteBuffer wrap(byte [] array)
ByteBuffer wrap(byte [] array, int offset, int length) //把一个byte数组或byte数组的一部分包装成ByteBuffer。
一个使用ByteBuffer的例子,这个例子从标准输入不停地读入字符,当读满一行后,将收集的字符
写到标准输出:
public static void main(String [] args)
throws IOException
{
// 创建一个capacity为256的ByteBuffer
ByteBuffer buf = ByteBuffer.allocate(256)
while (true) {
// 从标准输入流读入一个字符
int c = System.in.read()
// 当读到输入流结束时,退出循环
if (c == -1)
break
// 把读入的字符写入ByteBuffer中
buf.put((byte) c)
// 当读完一行时,输出收集的字符
if (c == '\n') {
// 调用flip()使limit变为当前的position的值,position变为0,
// 为接下来从ByteBuffer读取做准备
buf.flip()
// 构建一个byte数组
byte [] content = new byte[buf.limit()]
// 从ByteBuffer中读取数据到byte数组中
buf.get(content)
// 把byte数组的内容写到标准输出
System.out.print(new String(content))
// 调用clear()使position变为0,limit变为capacity的值,
// 为接下来写入数据到ByteBuffer中做准备
buf.clear()
}
}
}
new其实就是创建一个新的熟悉,在内存中开辟一个空间。new 就是创建一个对象的意思。
这里new就是创建一个byte数组,
byte[1024]是数组长度为1024
byte即字节的意思,是java中的基本类型,用心申明字节型的变量。
通常在读取非文本文件时(如图片,声音,可执行文件)需要用字节数组来保存文件的内容。
在下载文件时,也是用byte数组作临时的缓冲器接收文件内容。所以说byte在文件操作时是必不可少的。不管是对文件写入还是读取都要用到。
扩展资料:
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
Java语言是一门随时代快速发展的计算机语言程序,其深刻展示了程序编写的精髓,加上其简明严谨的结构及简洁的语法编写为其将来的发展及维护提供了保障。
由于提供了网络应用的支持和多媒体的存取,会推动Internet和企业网络的Web的应用。
参考资料来源:百度百科-Java (计算机编程语言)