javaChannel是什么

美女程序员鼓励师

1、说明

Channel是一个可以通过它读写数据的对象。它可以被视为IO中的流。但与流相比,它有一些不同:

Channel是双向的,可以读也可以写,流是单向的。

Channel可以异步读写。

Channel的读写必须通过buffer对象。

2、实例

利用通道和非直接缓冲区完成。

js;toolbar:false">FileInputStream fis=null;           //引用

FileOutputStream fout=null;

FileChannel channel=null;  //通道引用

FileChannel outchannel=null;

try {

fis = new FileInputStream("sb.jpg");     //源文件

fout = new FileOutputStream("bb.jpg");  //目标文件   

channel = fis.getChannel();             //获取连接源文件的通道

outchannel = fout.getChannel();         //获取连接目标文件的通道

//指定缓冲区 非直接缓冲区

ByteBuffer buffer=ByteBuffer.allocate(1024);  //创建缓冲区 用来传输数据

while(channel.read(buffer)!=-1)          //从连接源文件的管道读取数据到缓冲区

{

//将缓冲区反转

buffer.flip();

outchannel.write(buffer);        //将缓冲区中的数据写入连接到目标文件的管道

buffer.clear();                  //"清空"缓冲区

}

以上就是java Channel的介绍,希望对大家有所帮助。更多Java学习指路:Java基础

本教程操作环境:windows7系统、java10版,DELL G3电脑。

以上是 javaChannel是什么 的全部内容, 来源链接: utcz.com/z/544122.html

回到顶部