定义方法复制文件夹 copyFolder("d:\\course\\03-javase", 遍历源文件夹内容, 把这些内容依次复制到 "e:\\java");
时间: 2023-09-02 07:05:44 浏览: 145
以下是一个简单的实现方法:
```
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileUtil {
public static void copyFolder(File sourceFolder, File destinationFolder) throws IOException {
// 如果目标文件夹不存在,则创建
if (!destinationFolder.exists()) {
destinationFolder.mkdirs();
}
// 遍历源文件夹
File[] files = sourceFolder.listFiles();
for (File file : files) {
if (file.isDirectory()) {
// 如果是子文件夹,则递归调用copyFolder方法
copyFolder(file, new File(destinationFolder, file.getName()));
} else {
// 如果是文件,则复制到目标文件夹中
FileInputStream inputStream = new FileInputStream(file);
FileOutputStream outputStream = new FileOutputStream(new File(destinationFolder, file.getName()));
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) > 0) {
outputStream.write(buffer, 0, length);
}
inputStream.close();
outputStream.close();
}
}
}
public static void main(String[] args) {
try {
File sourceFolder = new File("d:\\course\\03-javase");
File destinationFolder = new File("e:\\java");
copyFolder(sourceFolder, destinationFolder);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
以上代码定义了一个copyFolder方法,参数为源文件夹和目标文件夹。该方法通过递归遍历源文件夹中的所有文件和子文件夹,并将它们依次复制到目标文件夹中。如果目标文件夹不存在,则会先创建它。
在main方法中,我们可以调用copyFolder方法来实现复制。
阅读全文