复制文件

Java中实现复制文件,方法不止一种,以下是一种较为简单的示例。至于源文件是否存在,目标文件是否已存在,请另外自行判断。

//srcName为源文件绝对路径,desName为目标文件绝对路径。
public static boolean copyFile(String srcName, String desName) {

	File sourceFile = new File(srcName);
	File destFile = new File(desName);

	FileInputStream in = null;
	FileOutputStream out = null;
	try {
		in = new FileInputStream(sourceFile);
		out = new FileOutputStream(destFile);
	}
	catch (FileNotFoundException e){
		e.printStackTrace();
		return false;
	}

	int length=102400;
	byte[] buffer=new byte[length];
	while(true)
	{
		int nBytesRead;
		try 
		{
			nBytesRead = in.read(buffer);
			if(-1 != nBytesRead )
			{
			   out.write(buffer, 0, nBytesRead);
			}
			else
			{
			   in.close();
			   out.flush();
			   out.close();
			   break;
			}
		} 
		catch (IOException e) {
			e.printStackTrace();
			return false;
		}
	}
	return true;
}

 

复制文件夹

基于以上方法复制文件夹。

public static boolean copyDir(String srcDir, String destDir){
	File srcDirFile = new File(srcDir);

	File[] files = srcDirFile.listFiles();
	for(File file:files)
	{
		if(!copyFile(file.getAbsolutePath(),destDir + File.separator + file.getName()))
		{
			return false;
		}
	}

	return true;
}