使用FileChannel通道读写文件

使用FileChannel通道读写文件

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

public class ChannelTest {
public static void main(String[] args) {
	// TODO Auto-generated method stub
	ChannelTest ct = new ChannelTest();
	ct.writeFile();
	ct.readFile();
}
//写入文本文件
public void writeFile() {
	//1 创建输出流
	FileOutputStream fos = null;
	//2 获取通道
	FileChannel fc = null;
	try {
		//初始化输出流
		fos = new FileOutputStream("e:\ex\out.txt");
		//获取通道。通道是通过流获得的(注意!!!)
		fc = fos.getChannel();
		//3 创建缓冲区
		ByteBuffer buffer = ByteBuffer.allocate(1024);
		//4 向缓冲区写入数据,把字符转成字节并写入缓冲区
		buffer.put("Whatever is worth doing is worth doing well.".getBytes());
		//改状态
		buffer.flip();
		//5 通过通道写入目标文件
		//FileChannel类中的.write()方法:将字节序列从给定
经验分享 程序员 微信小程序 职场和发展