Merlin的魔力: Merlin的新I/O缓冲区的输入和输出[Java编程]
本文“Merlin的魔力: Merlin的新I/O缓冲区的输入和输出[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
Java 2 平台尺度版(Java 2 Platform Standard Edition,J2SE)1.4 对 Java 平台的 I/O 处理本领做了大量更改.它不但用流到流的链接方法持续支持从前 J2SE 发行版的基于流的 I/O 操作,并且 Merlin 还增添了新的功效 — 称之为新 I/O 类(NIO),目前这些类位于 java.nio 包中.
I/O 履行输入和输出操作,将数据从文件或系统掌握台等传送至或传送出利用程序.(有关 Java I/O 的别的信息,请参阅 参考资料).
缓冲区底子
抽象的 Buffer 类是 java.nio 包支持缓冲区的底子. Buffer 的工作方法就象内存顶用于读写基本数据范例的 RandomAccessFile .象 RandomAccessFile 一样,利用 Buffer ,所履行的下一个操作(读/写)在当前某个位置发生.履行这两个操作中的任一个城市改变那个位置,所以在写操作之后举行读操作不会读到方才所写的内容,而会读到方才所写内容之后的数据. Buffer 供应了四个指导办法,用于拜候线性构造(从最高值到最低值):
capacity() :表明缓冲区的大小
limit() :奉告您到目前为止已经往缓冲区填了多少字节,大概让您用 :limit(int newLimit) 来改变这个限制
position() :奉告您当前的位置,以履行下一个读/写操作
mark() :为了稍后用 reset() 举行重新设置而记着某个位置
缓冲区的基本操作是 get() 和 put() ;但是,这些办法在子类中都是针对每种数据范例的特定办法.为了阐明这一情形,让我们研究一个简单示例,该示例演示了从同一个缓冲区读和写一个字符.在清单 1 中, flip() 办法交换限制和位置,然后将位置置为 0,并废弃标志,让您读方才所写的数据:
清单 1. 读/写示例
import java.nio.*;
...
CharBuffer buff = ...;
buff.put('A');
buff.flip();
char c = buff.get();
System.out.println("An A: " + c);
目前让我们研究一些具体的 Buffer 子类.
缓冲区范例
Merlin 具有 7 种特定的 Buffer 范例,每种范例对应着一个基本数据范例(不包含 boolean):
ByteBuffer
CharBuffer
DoubleBuffer
FloatBuffer
IntBuffer
LongBuffer
ShortBuffer
以上是“Merlin的魔力: Merlin的新I/O缓冲区的输入和输出[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |