package com.hao.demo.netty.nio;
import java.io.File;
import java.io.FileInputStream;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
/**
* @author haoxiansheng
* @date 2020-05-11
*/
public class NIOFileChannel02 {
/**
* 文件信息输出到控制台
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
String path = "/Users/haoxiansheng/Downloads/Spring-Family/SpringBoot-Learning/influxdbdemo/file01.txt";
File file = new File(path);
// 创建文件输入流
FileInputStream fileInputStream = new FileInputStream(file);
// 通过fileInputStream 获取对应的FileChannel -> 实际类型 FileChannelImpl
FileChannel fileChannel = fileInputStream.getChannel();
// 创建缓冲区
ByteBuffer byteBuffer = ByteBuffer.allocate((int) file.length());
// 将 通道的数据读入到buffer
fileChannel.read(byteBuffer);
// 将buffer 的字节数据 转成String
System.out.println(new String(byteBuffer.array()));
fileInputStream.close();
}
}