之前用nio的方式寫過一個拷貝複制檔案的方法,比傳統的io操作快一些,現在分享一下:
public static void fileChannelCopy(File s, File t) {
FileInputStream fi = null;
FileOutputStream fo = null;
FileChannel in = null;
FileChannel out = null;
try {
fi = new FileInputStream(s);
fo = new FileOutputStream(t);
in = fi.getChannel();//得到對應的檔案通道
out = fo.getChannel();//得到對應的檔案通道
in.transferTo(0, in.size(), out);//連接配接兩個通道,并且從in通道讀取,然後寫入out通道
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fi.close();
in.close();
fo.close();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}