问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JAVA 如何创建/删除/修改/复制目录及文件

发布网友 发布时间:2022-04-22 11:25

我来回答

1个回答

热心网友 时间:2023-10-12 10:53

import java.io.*;
public class FileOperate { 
  public FileOperate() { 
  }
  /** 
   * 新建目录 
   * @param folderPath String 如 c:/fqf 
   * @return boolean 
   */ 
  public void newFolder(String folderPath) { 
    try { 
      String filePath = folderPath; 
      filePath = filePath.toString(); 
      java.io.File myFilePath = new java.io.File(filePath); 
      if (!myFilePath.exists()) { 
        myFilePath.mkdir(); 
      } 
    } 
    catch (Exception e) { 
      System.out.println("新建目录操作出错"); 
      e.printStackTrace(); 
    } 
  }
  /** 
   * 新建文件 
   * @param filePathAndName String 文件路径及名称 如c:/fqf.txt 
   * @param fileContent String 文件内容 
   * @return boolean 
   */ 
  public void newFile(String filePathAndName, String fileContent) {
    try { 
      String filePath = filePathAndName; 
      filePath = filePath.toString(); 
      File myFilePath = new File(filePath); 
      if (!myFilePath.exists()) { 
        myFilePath.createNewFile(); 
      } 
      FileWriter resultFile = new FileWriter(myFilePath); 
      PrintWriter myFile = new PrintWriter(resultFile); 
      String strContent = fileContent; 
      myFile.println(strContent); 
      resultFile.close();
    } 
    catch (Exception e) { 
      System.out.println("新建目录操作出错"); 
      e.printStackTrace();
    }
  }
  /** 
   * 删除文件 
   * @param filePathAndName String 文件路径及名称 如c:/fqf.txt 
   * @param fileContent String 
   * @return boolean 
   */ 
  public void delFile(String filePathAndName) { 
    try { 
      String filePath = filePathAndName; 
      filePath = filePath.toString(); 
      java.io.File myDelFile = new java.io.File(filePath); 
      myDelFile.delete();
    } 
    catch (Exception e) { 
      System.out.println("删除文件操作出错"); 
      e.printStackTrace();
    }
  }
  /** 
   * 删除文件夹 
   * @param filePathAndName String 文件夹路径及名称 如c:/fqf 
   * @param fileContent String 
   * @return boolean 
   */ 
  public void delFolder(String folderPath) { 
    try { 
      delAllFile(folderPath); //删除完里面所有内容 
      String filePath = folderPath; 
      filePath = filePath.toString(); 
      java.io.File myFilePath = new java.io.File(filePath); 
      myFilePath.delete(); //删除空文件夹
    } 
    catch (Exception e) { 
      System.out.println("删除文件夹操作出错"); 
      e.printStackTrace();
    }
  }
  /** 
   * 删除文件夹里面的所有文件 
   * @param path String 文件夹路径 如 c:/fqf 
   */ 
  public void delAllFile(String path) { 
    File file = new File(path); 
    if (!file.exists()) { 
      return; 
    } 
    if (!file.isDirectory()) { 
      return; 
    } 
    String[] tempList = file.list(); 
    File temp = null; 
    for (int i = 0; i < tempList.length; i++) { 
      if (path.endsWith(File.separator)) { 
        temp = new File(path + tempList[i]); 
      } 
      else { 
        temp = new File(path + File.separator + tempList[i]); 
      } 
      if (temp.isFile()) { 
        temp.delete(); 
      } 
      if (temp.isDirectory()) { 
        delAllFile(path+"/"+ tempList[i]);//先删除文件夹里面的文件 
        delFolder(path+"/"+ tempList[i]);//再删除空文件夹 
      } 
    } 
  }
  /** 
   * 复制单个文件 
   * @param oldPath String 原文件路径 如:c:/fqf.txt 
   * @param newPath String 复制后路径 如:f:/fqf.txt 
   * @return boolean 
   */ 
  public void copyFile(String oldPath, String newPath) { 
    try { 
      int bytesum = 0; 
      int byteread = 0; 
      File oldfile = new File(oldPath); 
      if (oldfile.exists()) { //文件存在时 
        InputStream inStream = new FileInputStream(oldPath); //读入原文件 
        FileOutputStream fs = new FileOutputStream(newPath); 
        byte[] buffer = new byte[1444]; 
        int length; 
        while ( (byteread = inStream.read(buffer)) != -1) { 
          bytesum += byteread; //字节数 文件大小 
          System.out.println(bytesum); 
          fs.write(buffer, 0, byteread); 
        } 
        inStream.close(); 
      } 
    } 
    catch (Exception e) { 
      System.out.println("复制单个文件操作出错"); 
      e.printStackTrace();
    }
  }
  /** 
   * 复制整个文件夹内容 
   * @param oldPath String 原文件路径 如:c:/fqf 
   * @param newPath String 复制后路径 如:f:/fqf/ff 
   * @return boolean 
   */ 
  public void copyFolder(String oldPath, String newPath) {
    try { 
      (new File(newPath)).mkdirs(); //如果文件夹不存在 则建立新文件夹 
      File a=new File(oldPath); 
      String[] file=a.list(); 
      File temp=null; 
      for (int i = 0; i < file.length; i++) { 
        if(oldPath.endsWith(File.separator)){ 
          temp=new File(oldPath+file[i]); 
        } 
        else{ 
          temp=new File(oldPath+File.separator+file[i]); 
        }
        if(temp.isFile()){ 
          FileInputStream input = new FileInputStream(temp); 
          FileOutputStream output = new FileOutputStream(newPath + "/" + 
              (temp.getName()).toString()); 
          byte[] b = new byte[1024 * 5]; 
          int len; 
          while ( (len = input.read(b)) != -1) { 
            output.write(b, 0, len); 
          } 
          output.flush(); 
          output.close(); 
          input.close(); 
        } 
        if(temp.isDirectory()){//如果是子文件夹 
          copyFolder(oldPath+"/"+file[i],newPath+"/"+file[i]); 
        } 
      } 
    } 
    catch (Exception e) { 
      System.out.println("复制整个文件夹内容操作出错"); 
      e.printStackTrace();
    }
  }
  /** 
   * 移动文件到指定目录 
   * @param oldPath String 如:c:/fqf.txt 
   * @param newPath String 如:d:/fqf.txt 
   */ 
  public void moveFile(String oldPath, String newPath) { 
    copyFile(oldPath, newPath); 
    delFile(oldPath);
  }
  /** 
   * 移动文件到指定目录 
   * @param oldPath String 如:c:/fqf.txt 
   * @param newPath String 如:d:/fqf.txt 
   */ 
  public void moveFolder(String oldPath, String newPath) { 
    copyFolder(oldPath, newPath); 
    delFolder(oldPath);
  } 
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? java 更改文件内容 java如何重命名一个文件 java怎样高效修改文件部分内容? java怎样高效修改文件部分内容 电脑无法打开ie浏览器怎么办 熏肉要煮到什么程度就可以熏了 鸭熏肉是熟的还是生的 腊肉要煮熟吗 乡里婆婆湘西腊肉是生的还是熟的 腊肉是生的还是熟的 四川腊肉是生的还是半熟的 为啥要用烟熏上面挂的肉? 这肉是熟的还是生的? 烟熏腊肉是熟的还是生的? 请问刚买回的蜡肉是生的还是熟的?? 腊肉是熟的吗? 穿香槟色衬衫配阔腿裤的佘诗曼,身材有多好? 衬衫搭配包臀裙,唯美成熟显年轻,上身效果特别优雅,你爱了吗? 你觉得什么材质的衬衫最舒服? 自带高级滤镜的缎面衬衫,如何选择适合我的款式? Java修改、删除properties文件内容 java 文本文件部分内容修改? java怎样修改文本文件的最后一行 java中如何修改文本文件内容? java增加、删除、修改文件 Java 对文件中的数据修改 java修改文件后缀名 在java中如何修改文本文件中的某一行的某些数据?? JAVA项目中某文件的修改 体创联盟高尔夫文化发展(北京)有限公司怎么样? 以美食为主题的ppt可以围绕哪几方面做? 中国传统美食饺子文化PPT模板 如何做美食ppt 中华特色小吃技术大全官网 中华美食ppt模板 主题餐饮ppt怎么做 关于美食的ppt总结该怎么写 餐饮ppt报表怎么做 介绍中华美食的ppt文稿。 我做勒一个PPT,主题是美食天下。想让好心人帮忙写一下开头语和结束语!一定要是原创!!!不要抄袭!!! 师范专科毕业可以考取教师资格证吗?