zoukankan      html  css  js  c++  java
  • Java基础知识强化之IO流笔记50:IO流练习之 复制多级文件夹的案例

    1. 复制多级文件夹的案例

    需求:复制多级文件夹
     
        数据源:E:JavaSEday21codedemos
        目的地:E:
     
    分析:
            A:封装数据源File
            B:封装目的地File
            C:判断该File是文件还是文件夹
                        a:是文件夹
                                就在目的地目录下创建该文件夹
                                获取该File对象下的所有文件或者文件夹File对象
                                遍历得到每一个File对象
                                回到C
                        b:是文件
                                就复制(字节流)
     
    2. 代码示例:
     1 package cn.itcast_05;
     2 import java.io.BufferedInputStream;
     3 import java.io.BufferedOutputStream;
     4 import java.io.File;
     5 import java.io.FileInputStream;
     6 import java.io.FileOutputStream;
     7 import java.io.IOException;
     8 /*
     9  * 需求:复制多极文件夹
    10  * 
    11  * 数据源:E:JavaSEday21codedemos
    12  * 目的地:E:\
    13  * 
    14  * 分析:
    15  *         A:封装数据源File
    16  *         B:封装目的地File
    17  *         C:判断该File是文件夹还是文件
    18  *             a:是文件夹
    19  *                 就在目的地目录下创建该文件夹
    20  *                 获取该File对象下的所有文件或者文件夹File对象
    21  *                 遍历得到每一个File对象
    22  *                 回到C
    23  *             b:是文件
    24  *                 就复制(字节流)
    25  */
    26 public class CopyFoldersDemo {
    27     public static void main(String[] args) throws IOException {
    28         // 封装数据源File
    29         File srcFile = new File("E:\JavaSE\day21\code\demos");
    30         // 封装目的地File
    31         File destFile = new File("E:\");
    32         // 复制文件夹的功能
    33         copyFolder(srcFile, destFile);
    34     }
    35     private static void copyFolder(File srcFile, File destFile)
    36             throws IOException {
    37         // 判断该File是文件夹还是文件
    38         if (srcFile.isDirectory()) {
    39             // 文件夹
    40             File newFolder = new File(destFile, srcFile.getName());
    41             newFolder.mkdir();
    42             // 获取该File对象下的所有文件或者文件夹File对象
    43             File[] fileArray = srcFile.listFiles();
    44             for (File file : fileArray) {
    45                 copyFolder(file, newFolder);
    46             }
    47         } else {
    48             // 文件
    49             File newFile = new File(destFile, srcFile.getName());
    50             copyFile(srcFile, newFile);
    51         }
    52     }
    53     private static void copyFile(File srcFile, File newFile) throws IOException {
    54         BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
    55                 srcFile));
    56         BufferedOutputStream bos = new BufferedOutputStream(
    57                 new FileOutputStream(newFile));
    58         byte[] bys = new byte[1024];
    59         int len = 0;
    60         while ((len = bis.read(bys)) != -1) {
    61             bos.write(bys, 0, len);
    62         }
    63         bos.close();
    64         bis.close();
    65     }
    66 }
  • 相关阅读:
    设置材质球的材质,是第几个
    转载渲染。
    系统的时间调不错,就是界面躁动太多,要是允许话还是在自己的界面中加入比较薄, 不过这个很方便。
    清除poly修改器的脚本,效果还好。
    不用string了用getFilenameFile 函数 索引名字更快
    判断平pickbutton 节点是否被删除, 这个事件放在点击事件之内。
    字符串加入到数组的号办法。
    收集每个mesh 面的id 号, 这个很有用,可以用来查找物体共有几个id 效果好。
    Evervolv android 源码编译
    zoj 2112 Dynamic Rankings(SBT in SegTree)
  • 原文地址:https://www.cnblogs.com/hebao0514/p/4870290.html
Copyright © 2011-2022 走看看