1、说明
Channel是一个可以通过它读写数据的对象。它可以被视为IO中的流。但与流相比,它有一些不同:
Channel是双向的,可以读也可以写,流是单向的。
Channel可以异步读写。
Channel的读写必须通过buffer对象。
这是一款织梦开源的广告产品包装企业源码,使用的是织梦v5.7sp核心开发,整站源码包内包含详细的安装说明,可以让学习安装的人轻松快速的安装,安装好的网站内包含着一些广告产品演示数据,可以让使用的人更清楚的知道怎么上传和使用。
88
2、实例
利用通道和非直接缓冲区完成。
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怎么使用的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号