import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.channels.FileChannel;
public class MoveFile {
public static void main(String[] args) {
transferFileTo("e:\\fromFile.txt", "e:\\toFile.txt");
}
private static void transferFileTo(String src, String dest) {
RandomAccessFile fromFile = null;
RandomAccessFile toFile = null;
FileChannel fromChannel = null;
FileChannel toChannel = null;
try {
fromFile = new RandomAccessFile(src, "rw");
fromChannel = fromFile.getChannel();
toFile = new RandomAccessFile(dest, "rw");
toChannel = toFile.getChannel();
long position = 0;
long count = fromChannel.size();
fromChannel.transferTo(position, count, toChannel);
//从文件0位置阶段,删除后面的数据,相当于删除整个文件中的内容
fromChannel.truncate(0);
} catch (java.io.IOException e) {
e.printStackTrace();
} finally {
try {
if (fromChannel != null) {
fromChannel.close();
}
if (toChannel != null) {
toChannel.close();
}
if (fromFile != null) {
fromFile.close();
}
if (toFile != null) {
toFile.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
FileChanel 快速移动文件删除原文件中的数据
最新推荐文章于 2023-05-23 10:02:28 发布