拷贝某个目录下得所有文件拷指定位置
-
思想归纳
- 首先我们需要做的先获取到资源文件夹路径,这里我们先在程序中写死,然后我们还需要一个目标文件夹就是你需要拷贝到哪里。有了这两个文件夹我就可以进行复制了
- 然后我们首先要先将目标文件路径创建出来,然后我们在对源文件进行遍历,遍历时我添加了两个辨认方法
- 1、如果是系统识别的标准文件则执行文件复制功能
- 2、如果是文件夹的话则在目标文件夹对应的地方进行创建文件夹,方便遍历。
- 总体思想就是这些。下面我们需要完成的函数有 文件复制函数+文件夹创建函数
- 文件拷贝函数:
- 1、创建输入对象
BufferedInputStream bis=new BufferedInputStream(new FileInputStream(SourceFile));
- 2、创建输出流对象
BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream(TargetFile));
- 3、获取数据
- 完成数据的复制
- 1、创建输入对象
- 下面就是文件夹的创建
- 获取路径并遍历
(new File(TargetFolder)).mkdirs();//创建目标文件夹
File[] files=(new File(SourceFolder)).listFiles();//获取原文件夹下的所有文件准备遍历
- 判断是否是文件
if(f.isFile())//检测f是否是标准文件
{
//获取源文件和目标文件
File SourceFile=f;
File TargetFile=new File(new File(TargetFolder).getAbsoluteFile()+f.separator+f.getName());
//准备进行复制
CopyFile(SourceFile, TargetFile);
}
- 判断是否是文件夹
else if(f.isDirectory())//检测到f是个标准目录
{
CopyFolder(SourceFolder+f.getName(), TargetFolder+File.separatorChar+f.getName());
}
- 获取路径并遍历
- 文件拷贝函数:
这两个函数完成后只要在主函数中我们在将源文件和目标文件进行一次遍历就行了,如果主函数中不进行遍历我们将无访问权进行数据的访问。