1.首先复制整个文件夹
/**
* 复制整个文件夹内容
* @param oldPath 原文件路径 如:F:\cs\b\wrapper.log
* @param newPath 复制后路径 如:F:\cs\a
*/
public static void copyFolder(String oldPath, String newPath) {
try {
//如果文件夹不存在 则建立新文件夹
(new File(newPath)).mkdirs();
//拿到源文件路径进行处理
File a=new File(oldPath);
String[] file=a.list();
File temp=null;
for (int i = 0; i < file.length; i++) {
if(oldPath.endsWith(File.separator)){
temp=new File(oldPath+file[i]);
}
else{
temp=new File(oldPath+File.separator+file[i]);
}
if(temp.isFile()){
FileInputStream input = new FileInputStream(temp);
FileOutputStream output = new FileOutputStream(newPath + "/" +
(temp.getName()).toString());
byte[] b = new byte[1024 * 5];
int len;
while ( (len = input.read(b)) != -1) {
output.write(b, 0, len);
}
output.flush();
output.close();
input.close();
}
if(temp.isDirectory()){
//如果是子文件夹
copyFolder(oldPath+"/"+file[i],newPath+"/"+file[i]);
}
}
}
catch (Exception e) {
System.out.println("复制整个文件夹内容操作出错");
e.printStackTrace();
}
}
编写main方法进行测试
public static void main(String[] args) throws IOException {
String oldPath ="F:\\cs\\b\\wrapper.log";
String newPath = "F:\\cs\\a";
copyFolder(oldPath , newPath);
}
/**
* 复制单个文件夹
* @param oldPath 原文件路径 如:F:\cs\b\wrapper.log
* @param newPath 复制后路径 如:F:\cs\a
*/
/*
* 实现文件的拷贝
* @param srcPathStr
* 源文件的地址信息
* @param desPathStr
* 目标文件的地址信息
*/
private static void copyFile(String srcPathStr, String desPathStr) {
//1.获取源文件的名称
// 目标文件地址
String newFileName = srcPathStr.substring(srcPathStr.lastIndexOf("\\")+1);
System.out.println(newFileName);
desPathStr = desPathStr + File.separator + newFileName; //源文件地址
System.out.println(desPathStr);
try{
//2.创建输入输出流对象
FileInputStream fis = new FileInputStream(srcPathStr);
FileOutputStream fos = new FileOutputStream(desPathStr);
//创建搬运工具
byte datas[] = new byte[1024*8];
//创建长度
int len = 0;
//循环读取数据
while((len = fis.read(datas))!=-1){
fos.write(datas,0,len);
}
//3.释放资源
fis.close();
fis.close();
}catch (Exception e){
e.printStackTrace();
}
}
编写main方法进行测试
public static void main(String[] args) throws IOException {
//源文件地址
String srcPathStr = " \\\\xxxxxxxx\\xxxx\\xxxx\\logs\\wrapper.log";
//目标文件地址
String desPathStr = "\\\\xxxxxxxx\xxxx\\ssser_SfcComboCell";
copyFile(srcPathStr, desPathStr);
}
这样子就实现了复制整个文件夹或复制单个文件了