借助工具包commons-io.jar
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
public class Admin {
public static void main(String[] args) {
File from = new File("d:/a");
File to = new File("d:/b");
try {
FileUtils.copyDirectory(from, to);
} catch (IOException e) {
e.printStackTrace();
}
}
}
java的File类对文件进行操作不涉及编码问题,只是流对象的处理而已
首先用File类定位到该文件夹,遍历dll文件为一个数组存储起来
然后循环遍历这四个文件 使用outputstream(可以加缓冲)写入你的目标文件夹
代码量不是很大 只是逻辑必须清晰
而且如果不是必须用java操作 我觉得写批处理比写java简单的多
如果是windows系统,直接调用copy命令不更好?如果是linxu, 可以调用cp啊
import java.io.IOException;
public class FileCopy {
public static void main(String[] args) {
final String src = "c:\\src";
final String desc = "c:\\desc";
try {
String cmd = "cmd /c copy " + src + "\\* " + desc + "\\";
Runtime.getRuntime().exec(cmd).waitFor();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
/**
* 拷贝一个文件到指定的文件
* @param src
* @param destDirectory
* @return
*/
public static boolean copyFileToFile(String srcfile,String destfile){
try {
java.io.FileInputStream fin = new java.io.FileInputStream(srcfile);
java.io.FileOutputStream fout = new java.io.FileOutputStream(destfile);
int x = -1;
while((x=fin.read()) != -1){
fout.write(x);
}
fin.close();
fout.flush();
fout.close();
return true;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("移动文件到目标地址失败 error:" + e.getMessage());
return false;
}
}
/// 再写个方法, 拷贝整个目录中的文件,到一个目录,里面递归调用,我上面的那个方法就行了
这么大的代码估计没人会写的
要么就是在别的地方粘贴的
提示你使用输入输出流。自己可以实践一下。
注意内存溢出就行了