> 文档中心 > 复制单级文件夹

复制单级文件夹


复制单级文件

  • 需求:把"D\itCast"这个文件夹复制到模块目录

  • 思路:
    创建数据源目录File对象,路径是D:\itCast
    获取数据源目录File对象的名称(itCast)
    创建目的地目录File对象,路径名是模块名+itCast组成(src\itCast)
    判断目的地目录对应的File目录是否存在,如果不存在,就创建
    获取数据源目录下所有文件的File数组
    遍历File数组,得到每一个File对象,该File对象,其实就是数据源文件(D:\itCast\…)
    获取数据源文件File对象的名称(mn.jpg)
    创建目的地文件File对象,路径名是目的地目录+mn.jpg组成(src\itCast\mn.jpg)
    复制文件,由于文件不仅仅是文本文件,还有图片,视频等文件,所以采用字节流复制文件

  • 整体思路上: 先复制目录----->根据循环复制文件----->在每次循环中用字节缓冲流将文件内容意义复制

以图文和代码内容形式讲解

图文:
数据源"D\itCast"
柏维怡我爱你
代码:

package Demo;import java.io.*;public class Demo {    public static void main(String[] args) throws IOException { //创建数据源目录File对象,路径是D:\\itCast File file = new File("D:\\itCast"); //获取数据源目录File对象的名称(itCast) String name = file.getName(); //创建目的地目录File对象,路径名是模块名+itCast组成src\\itCast) File file1 = new File("D:\\item\\Hellow\\src",name); //判断目的地目录对应的File目录是否存在,如果不存在,就创建 if (!file1.exists()){     file1.mkdir(); } //获取数据源目录下所有文件的File数组 File[] files = file.listFiles(); //遍历File数组,得到每一个File对象,该File对象,其实就是数据源文件(D:\\itCast\\...) for (File x:files) {     //获取数据源文件File对象的名称(mn.jpg以及各种别的名字的类型)     String name1 = x.getName();     //创建目的地文件File对象,路径名是目的地目录+mn.jpg组成(D:\item\Hellow\src\\itCast\\...)     File file2 = new File(file1,name1);     //注意以上操作只是将目录以及目录下的文件复制到目标源中,内容是空的!!!! //复制文件,由于文件不仅仅是文本文件,还有图片,视频等文件,所以采用字节流复制文件,此次操作是     copyFile(x,file2); }    }    private static void copyFile(File x,File file2) throws IOException { //建立字节缓冲输入流 BufferedInputStream bi = new BufferedInputStream(new FileInputStream(x)); //建立字节缓冲输出流 BufferedOutputStream bo = new BufferedOutputStream(new FileOutputStream(file2)); //复制文件 int len; byte[] bytes = new byte[1024]; while((len=bi.read(bytes))!=-1){     bo.write(bytes, 0, len); } //释放资源 bi.close(); bo.close();    }}

输出的内容
柏维怡我爱你

内容分析

柏维怡我爱你
柏维怡我爱你
柏维怡我爱你

多事通报价网