java拷贝/复制文件到其他文件夹中,如果文件夹中已经有同名的文件了,则会覆盖此文件
原文地址忘记了,稍微改了下
/**
* @param src
* @param destDir
* @param newFileName
* @return
* 会覆盖同名文件
*/
public long copyFile(String src, String destDir, String newFileName) {
FileInputStream is=null;
FileChannel fcin=null;
FileOutputStream os=null;
FileChannel fcout=null;
long copySizes = 0;
File srcFile=new File(src);
File descDir=new File(destDir);
if (!srcFile.exists()) {
MyLog.logger.info("源文件不存在");
copySizes = -1;
} else if (!descDir.exists()) {
MyLog.logger.info("目标目录不存在");
copySizes = -1;
} else if (newFileName == null) {
MyLog.logger.info("文件名为null");
copySizes = -1;
} else {
try {
is=new FileInputStream(srcFile);
fcin = is.getChannel();
os=new FileOutputStream(new File(descDir,newFileName));
fcout = os.getChannel();
long size = fcin.size();
// MyLog.logger.info(String.valueOf(size));
fcin.transferTo(0, fcin.size(), fcout);
is.close();
fcin.close();
os.close();
fcout.close();
copySizes = size;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
return copySizes;
}