Maison > Java > javaDidacticiel > Comment utiliser le canal Java

Comment utiliser le canal Java

WBOY
Libérer: 2023-04-19 11:22:02
avant
2684 Les gens l'ont consulté

1. Description

Channel est un objet à travers lequel les données peuvent être lues et écrites. Il peut être visualisé comme un flux dans IO. Mais par rapport aux flux, il présente quelques différences :

Le canal est bidirectionnel et peut être lu et écrit, tandis que les flux sont unidirectionnels.

La chaîne peut être lue et écrite de manière asynchrone.

La lecture et l'écriture du canal doivent passer par l'objet tampon.

2. Exemple

Utilisation de canaux et de tampons indirects pour compléter.

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();                  //"清空"缓冲区
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal