java Channel怎么使用
作者:OpenWorld
时间:2023-04-26
浏览:5
1、说明Channel是一个可以通过它读写数据的对象。它可以被视为IO中的流。但与流相比,它有一些不同:Channel是双向的,可以读也可以写,流是单向的。Channel可以异步读写。Channel的读写必须通过buffer对象。2、实例利用通道和非直接缓冲区完成。FileInputStreamfis=null;//引用FileOutputStreamfout=null;FileChannelchannel=null;//通道引用FileChanneloutchannel=null;try{fis=new
1、说明
Channel是一个可以通过它读写数据的对象。它可以被视为IO中的流。但与流相比,它有一些不同:
Channel是双向的,可以读也可以写,流是单向的。
Channel可以异步读写。
Channel的读写必须通过buffer对象。
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(); //"清空"缓冲区
}
作者最新文章
WPS 表格怎么套用内置表格样式
2026-10-08 14:05
photoshop工具有哪些 photoshop工具详细介绍
2026-09-29 11:05
三星 Galaxy A08 渲染图曝光:Helio G99 芯片与 6000mAh 电池配置解析
2026-09-08 17:14
OPPO Find X10 Pro Max 影像规格详解:三颗2亿像素镜头与全焦段8K视频能力
2026-09-08 16:41
PDF转HTML在线转换器怎么选?转换后网页排版怎么查?
2026-09-04 11:02
上一篇:
MySQL派生表联表查询的示例分析
下一篇:
Java中计算数组元素和的方法
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多










































