使用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()方法:将字节序列从给定