• IO操作文件的复制与删除


    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;

    import org.junit.Test;


    public class Delete {
    /*
    把d:/mywork复制成c:/mywork
    写程序删除目录c:/mywork, delete()?
    递归
    */

    public void deleteDir(File dir){
      //清空目录
      System.out.println("删除目录:" + dir);
      File[] listFiles = dir.listFiles();
      for(int i = 0;i < listFiles.length;i++){
        if(listFiles[i].isFile()){//测试此抽象路径名表示的文件是否是一个标准文件。
          //如果是文件,直接删除
          listFiles[i].delete();  
        }else if(listFiles[i].isDirectory()){//检查此路径是不是目录
          deleteDir(listFiles[i]);
          //因为子目录也是目录, 继续调用删除目录的方法即可
        }
      }
        dir.delete();//只能删除空目录
    }

      @Test
      public void delete(){
        File file = new File("c:/xxxx");//此处填写文件名
        deleteDir(file);
      }

      public void copyDir(File dir1,File dir2) throws IOException{
        System.out.println("复制目录:" + dir1 + "到" + dir2);
        //新建目标目录
        dir2.mkdir();
        //遍历源目录,把其中的内容复制到目标目录中
        File[] listFiles = dir1.listFiles();// 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
        for(int i = 0;i < listFiles.length;i++){
          if(listFiles[i].isFile()){
          //文件复制
            File f1 = listFiles[i];
            File f2 = new File(dir2.getAbsolutePath() + "/" + f1.getName());
            copyFile(f1,f2);
          }else if(listFiles[i].isDirectory()){
            copyDir(listFiles[i],new File(dir2.getAbsolutePath() + "/" + listFiles[i].getName()));
          }
        }
      }

       private void copyFile(File f1,File f2) throws IOException{
         FileInputStream fis = new FileInputStream(f1);
         FileOutputStream fos = new FileOutputStream(f2);
         byte[] buf = new byte[8192];
         int realCount = fis.read(buf);
         while (realCount != -1) {
           fos.write(buf,0,realCount);
           realCount = fis.read(buf);

         }
          fis.close();
          fos.close();
      }

       @Test
      public void copy(){
        File dir1 = new File("路径");
        File dir2 = new File("路径");
        try {
            copyDir(dir1, dir2);
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
    }

  • 相关阅读:
    黄聪:WordPress动作钩子函数add_action()、do_action()源码解析
    黄聪:使用WORDPRESS自带AJAX方法
    黄聪:get_posts 函数 | wordpress
    黄聪:wordpress伪静态的原理
    黄聪:wordpress如何开启文章格式post format
    黄聪:Xmind修改默认字体风格设置
    黄聪:让WordPress主题支持语言本地化(使用poedit软件实现中文翻译功能)
    ArcGIS Pro二次开发-选择gdb
    arcgis pro2.5 改变地图范围
    创建用户SQL
  • 原文地址:https://www.cnblogs.com/qianji/p/6648784.html
Copyright © 2020-2023  润新知