实现文件夹或文件的复制
来源:互联网 发布:多张同样表格数据汇总 编辑:程序博客网 时间:2024/05/21 09:04
这里呢,我使用的方法是这样的,先列出当前文件下的所有文件,在遍历这些文件,如果是文件夹,那么创建一个文件夹,并递归遍历该文件,如果是文件,那直接复制就OK了。
下面看例子:
import java.io.*; /* * 复制文件或文件夹 * */ public class Text { public static void main(String[] args) throws Exception { File file = new File("C:\\新建文件夹"); //源文件或文件夹 File file2 = new File("C:\\新建文件夹_2"); //目标文件 method(file,file2); //复制 } //复制文件或文件夹 public static void method(File file,File file2) throws Exception { if(!file.exists()) //如果所复制的文件或文件夹不存在 { System.out.println("所复制文件源不存在"); return; } if(file.isFile()) //如果是一个文件 { copyfile(file.getAbsolutePath(), file.getParent()+File.separator+"复制文件__"+file.getName()); return; } if(file.isDirectory()) //如果是一个文件夹 { file2.mkdir();//建立对应的文件夹 } File[] files = file.listFiles(); //返回当前文件夹下的所有文件及文件目录 for(int i=0;i<files.length;i++) { if(files[i].isDirectory()) //如果是文件夹 { copyfiles(files[i].getAbsoluteFile(),file2.getAbsoluteFile()); //进行文件夹的复制 } else //进行文件的复制 { copyfile(files[i].getAbsoluteFile(),file2.getAbsolutePath()+File.separator+files[i].getName()); } } } /* * 复制文件 * String in 源文件 * String out 目标文件 * */ public static void copyfile(File infile,String outfile) throws Exception { FileInputStream fis = new FileInputStream(infile); //源文件 FileOutputStream fos = new FileOutputStream(new File(outfile)); //目标文件 byte[] by = new byte[1024]; int len; while((len=fis.read(by))!=-1) { fos.write(by); } fis.close(); fos.close(); } /* * 复制文件夹 * File in 源文件夹 * File out 目标文件夹 */ public static void copyfiles(File in,File out) throws Exception { if(!in.isDirectory()) System.out.println("所复制的不是一个文件夹"); else { String fileName = in.getName(); out = new File(out+File.separator+fileName); out.mkdir(); } File[] files = in.listFiles(); for(int i=0;i<files.length;i++) { if(files[i].isDirectory()) { copyfiles(files[i].getAbsoluteFile(),out.getAbsoluteFile()); } else copyfile(files[i].getAbsolutePath(),out.getAbsolutePath()+File.separator+files[i].getName()); } } }
如果是使用下面这种方式来找出相关的文件时
File [ ] file = file2.listFiles(new FileFilter() {
public boolean accept(File pathname) {
return pathname.getName().endsWith(".java");
}
});
这个只是返回当前文件夹下的,如果使用到了递归文件夹,这个方法好像进不了子文件夹。
0 0
- 实现文件夹或文件的复制
- Java中实现复制文件或文件夹
- Java中实现复制文件或文件夹
- Java中实现复制文件或文件夹
- Java中实现复制文件或文件夹
- Java中实现复制文件或文件夹
- Java中实现复制文件或文件夹
- Java中实现复制文件或文件夹
- 复制文件或文件夹
- java复制文件或文件夹
- java复制文件或文件夹
- java复制文件或文件夹
- java复制文件或文件夹
- java复制文件或文件夹
- java复制文件或文件夹
- java复制文件或文件夹
- java复制文件或文件夹
- java复制文件或文件夹
- mysql简单的使用
- 《统计自然语言处理基础》笔记(4)词性标注 之 作用和影响性能的主要因素
- java中怎么设置文件权限
-
- PowerDesigner15反向工程生成ER图
- 实现文件夹或文件的复制
- java插件安装
- 五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT)
- 在MATLAB中,可以注释一段程序。
- 坑人的Visual Assist 和 Visual Studio 2012
- java控制台实现的万年历
- java比较好的博客汇总
- Arcgis 图例 esri.dijit.legend Legend widget
- 购物系统项目