不复制内容
package file;
import java.io.*;
public class CopyFile
{
public static void main(String[] args)
{
File sourceFile = new File("D:/作业");
File targetFile = new File("F:/");
copy(sourceFile, targetFile);
}
public static void copy(File sourceFile, File targetFile)
{
File tarpath = new File(targetFile, sourceFile.getName());
if (sourceFile.isDirectory())//如果源文件是一个目录
{
tarpath.mkdir();//创建此目录到目标路径
System.out.println(tarpath.getName()+"赋值完成");
File[] dir = sourceFile.listFiles();//获取源文件下属的子文件
for(File f:dir)
{
copy(f,tarpath);
}
}
}
}
复制内容
package file;
import java.io.*;
public class CopyFile
{
public static void main(String[] args) throws IOException
{
File sourceFile = new File("D:/作业");
File targetFile = new File("F:/");
copy(sourceFile, targetFile);
}
public static void copy(File sourceFile, File targetFile) throws IOException
{
if(sourceFile.exists()&&targetFile.exists())
{
File tarpath = new File(targetFile, sourceFile.getName());//创建新文件
if (sourceFile.isDirectory())//如果源文件是一个目录
{
tarpath.mkdir();//创建新目录
System.out.println("目录:"+tarpath.getName()+"复制完成");
File[] dir = sourceFile.listFiles();//获取源文件下属的子文件
for(File f:dir)
{
copy(f,tarpath);
}
}
else
{
//tarpath.createNewFile();//创建新文件
FileInputStream is=new FileInputStream(sourceFile);
FileOutputStream os=new FileOutputStream(tarpath);
BufferedInputStream bis=new BufferedInputStream(is);
BufferedOutputStream bos=new BufferedOutputStream(os);
int length=0;
byte []bytes=new byte[4096];
while((length=bis.read(bytes))!=-1)
{
bos.write(bytes, 0, length);
}
if(bis!=null)
{
bis.close();
}
if(bos!=null)
{
bos.close();
}
System.out.println("文件:"+tarpath.getName()+"复制完成");
}
}
else
{
System.out.println("源文件不存在");
}
}
}