文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

java文件和目录的增删复制

2023-05-31 12:36

关注

在使用java进行开发时常常会用到文件和目录的增删复制等方法。我写了一个小工具类。和大家分享,希望大家指正:

package com.wangpeng.utill;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileWriter;import java.io.InputStream;import java.io.PrintWriter;public class ToolOfFile {  public static void newFolder(String folderPath) throws Exception { try {  java.io.File myFolder = new java.io.File(folderPath);  if (!myFolder.exists()) {  myFolder.mkdir();  } } catch (Exception e) {  throw e; } }  public static void newFile(String filePath) throws Exception { try {  File myFile = new File(filePath);  if (!myFile.exists()) {  myFile.createNewFile();  } } catch (Exception e) {  throw e; } }  public static void newFile(String filePath, String fileContent)  throws Exception { // 用来写入字符文件的便捷类 FileWriter fileWriter = null; // 向文本输出流打印对象的格式化表示形式,使用指定文件创建不具有自己主动行刷新的新 PrintWriter printWriter = null; try {  File myFile = new File(filePath);  if (!myFile.exists()) {  myFile.createNewFile();  }  fileWriter = new FileWriter(myFile);  printWriter = new PrintWriter(fileWriter);  printWriter.print(fileContent);  printWriter.flush(); } catch (Exception e) {  throw e; } finally {  if (printWriter != null) {  printWriter.close();  }  if (fileWriter != null) {  fileWriter.close();  } } }  public static void copyFile(String oldPath, String newPath)  throws Exception { InputStream inStream = null; FileOutputStream outStream = null; try {  int byteread = 0;  File oldfile = new File(oldPath);  // 文件存在时  if (oldfile.exists()) {  inStream = new FileInputStream(oldfile);  outStream = new FileOutputStream(newPath);  byte[] buffer = new byte[1444];  while ((byteread = inStream.read(buffer)) != -1) {   outStream.write(buffer, 0, byteread);  }  outStream.flush();  } } catch (Exception e) {  throw e; } finally {  if (outStream != null) {  outStream.close();  }  if (inStream != null) {  inStream.close();  } } }  public static void copyFile(InputStream inStream, String newPath)  throws Exception { FileOutputStream outStream = null; try {  int byteread = 0;  outStream = new FileOutputStream(newPath);  byte[] buffer = new byte[1444];  while ((byteread = inStream.read(buffer)) != -1) {  outStream.write(buffer, 0, byteread);  }  outStream.flush(); } catch (Exception e) {  throw e; } finally {  if (outStream != null) {  outStream.close();  }  if (inStream != null) {  inStream.close();  } } }  public static void copyFolder(String oldPath, String newPath)  throws Exception { try {  (new File(newPath)).mkdirs(); // 假设目录不存在 则建立新目录  File a = new File(oldPath);  String[] file = a.list();  File tempIn = null;  for (int i = 0; i < file.length; i++) {  if (oldPath.endsWith(File.separator)) {   tempIn = new File(oldPath + file[i]);  } else {   tempIn = new File(oldPath + File.separator + file[i]);  }  if (tempIn.isFile()) {   copyFile(tempIn.getAbsolutePath(),    newPath + "/" + (tempIn.getName()).toString());  } else if (tempIn.isDirectory()) {// 假设是子目录   copyFolder(oldPath + "/" + file[i], newPath + "/" + file[i]);  }  } } catch (Exception e) {  throw e; } }  public static void delFileX(String filePathAndName) { File myDelFile = new File(filePathAndName); myDelFile.delete(); }  public static void delForder(String path) { File delDir = new File(path); if (!delDir.exists()) {  return; } if (!delDir.isDirectory()) {  return; } String[] tempList = delDir.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();  } else if (temp.isDirectory()) {  // 删除完里面全部内容  delForder(path + "/" + tempList[i]);  } } delDir.delete(); } public static void main(String[] args) { String oldPath = "F:/test/aaa/"; String newPath = "F:/test/bbb/"; try {  // ToolOfFile.newFolder("F:/test/hello/");  // ToolOfFile.newFile("F:/test/hello/world.txt","我爱你,the world!");  ToolOfFile.copyFolder(oldPath, newPath);  // ToolOfFile.delForder("F:/test/hello"); } catch (Exception e) {  e.printStackTrace(); } System.out.println("OK"); }}

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 资料下载
  • 历年真题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯