NioCopy文件
步骤:
1.创建输入输出流 fis fos
2.创建通道 fis.getchannel() fos.getchannel();
3.创建缓存区 ByteBuffer buffer = ByteBuffer.allocate(1024);
4.遍历缓存区
buffer.clear();
readeChannel.read(buffer);
buffer.flip();
writeChannel.write(channel);
package com.somp.NioCopy;
import java.io.ByteArrayOutputStream;
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;
/**
* Nio文件copy
* @author Administrator
*
*/
public class NioCopy {
/**
* 1.初始化缓存区
* 2.获取通道
* @throws IOException
*/
public static void main(String[] args) throws IOException {
//读操作
FileInputStream fileInputStream = new FileInputStream("C:\\HomeStatisticsServiceImpl.java");
//写操作
FileOutputStream fos = new FileOutputStream("abc.java");
//获取通道
FileChannel readChannel = fileInputStream.getChannel();
FileChannel writeChannel = fos.getChannel();
//声明缓存区
ByteBuffer buffer = ByteBuffer.allocate(1024);
while (true) {
buffer.clear();
try {
//通道开始读取缓存区
int read = readChannel.read(buffer);
if(read==-1){
break;
}else{
buffer.flip();
}
writeChannel.write(buffer);
} catch (IOException e) {
e.printStackTrace();
}
}
fos.close();
fileInputStream.close();
}
}