package com.wyt.netty;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
/***
*wyt
*/
public class TestByteBuffer {
public static void main(String[] args) {
// 1.输入输出流
try(FileChannel channel = new FileInputStream("D:/ideas/netty/src/main/resources/data.txt").getChannel()){
// 准备缓冲区
ByteBuffer buffer = ByteBuffer.allocate(10);
while(true){
// 从channel中读取数据,向缓冲区写
int len=channel.read(buffer);
if (len==-1){
break;
}
// 打印buffer内容
buffer.flip();// 切换至读模式
while(buffer.hasRemaining()){//是否还有剩余未读数据
byte b = buffer.get();
System.out.println((char)b);
}
buffer.clear();// 切换为写模式
}
}catch(IOException e){
e.printStackTrace();
}
}
}
netty学习1
最新推荐文章于 2024-09-20 13:39:31 发布
该代码示例展示了如何在Java中使用Netty框架结合FileChannel和ByteBuffer读取硬盘上的数据.txt文件。程序首先创建一个ByteBuffer,然后通过FileChannel的read方法将文件内容分块读入缓冲区,再将缓冲区内容反转并打印出来,直到文件读取完毕。
摘要由CSDN通过智能技术生成