package com.hao.demo.netty.nio;
import java.io.FileOutputStream;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
/**
* @author
* @date 2020-05-11
*/
public class NIOFileChannel01 {
/**
* String 写入到文件
* 为了方便看异常抛出 实际应该捕获
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
String str = "HELLO, 你好!";
// 创建一个输出流-> channel
String path = "/Users/haoxiansheng/Downloads/Spring-Family/SpringBoot-Learning/influxdbdemo/file01.txt";
FileOutputStream fileOutputStream = new FileOutputStream(path);
// 通过fileOutputStream 获取对应的fileChannel
// 这个fileChannel 真实类型是 FileChannelImpl
FileChannel channel = fileOutputStream.getChannel();
// 创建一个缓冲区 byteBuffer
ByteBuffer byteBuffer = ByteBuffer.allocate(1024);
// 将str 放入到buffer
byteBuffer.put(str.getBytes());
// 对byteBuffer进行反转
byteBuffer.flip();
// 将byteBuffer 数据写入到fileChannel
channel.write(byteBuffer);
fileOutputStream.close();
}
}