package com.demo.nio;
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 Util {
public static void copyFileByNio(String src, String des) {
FileInputStream fin = null;
FileOutputStream fout = null;
FileChannel fileChannelIn = null;
FileChannel fileChannelOut = null;
try {
fin = new FileInputStream(src);
fout = new FileOutputStream(des);
fileChannelIn = fin.getChannel();
fileChannelOut = fout.getChannel();
ByteBuffer buffer = ByteBuffer.allocate(1024);
while (fileChannelIn.read(buffer) != -1) {
buffer.flip();
fileChannelOut.write(buffer);
buffer.clear();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fileChannelOut != null) {
fileChannelOut.close();
}
if (fileChannelIn != null) {
fileChannelIn.close();
}
if (fout != null) {
fout.close();
}
if (fin != null) {
fin.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
copyFileByNio("/Users/ljw/shtest/1.txt", "/Users/ljw/shtest/2.txt");
}
}
(1)NIO FileChannel文件拷贝
最新推荐文章于 2022-12-04 16:38:27 发布