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