递归?简单点:程序自己调用自己 实现文件的删除和拷贝,代码如下: package com.viita;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;public class Dptest { //删除制定文件夹的所有文件及根文件夹 public void deleteFile(String path) { // TODO Auto-generated method stub File f = new File(path); if(f.isDirectory()) { File[] file = f.listFiles(); for (File file2 : file) { this.deleteFile(file2.toString()); file2.delete(); } }else { f.delete(); } f.delete(); } //拷贝整个文件夹的方法 public void copyFiles(String path1, String path2) throws Exception { // TODO Auto-generated method stub File file = new File(path1); if(file.isDirectory()) { File f = new File(path2); if(!f.exists()) f.mkdir(); File[] files = file.listFiles(); for (File file2 : files) { //System.out.println(file2.toString()+"-----"+path2+"/"+file2.getName()); copyFiles(file2.toString(),path2+"/"+file2.getName()); } }else { copy(path1,path2); } } //拷贝单个文件的方法 public void copy(String path1,String path2) throws IOException { // TODO Auto-generated method stub DataInputStream in = new DataInputStream( new BufferedInputStream( new FileInputStream(path1))); byte[] date = new byte[in.available()]; in.read(date); DataOutputStream out = new DataOutputStream( new BufferedOutputStream( new FileOutputStream(path2))); out.write(date); in.close(); out.close(); } public static void main(String[] args) throws Exception { Dptest dp = new Dptest(); dp.deleteFile("c:/wmpub");// dp.copyFiles("c:/新建文件夹", "c:/xiao"); }}