`
sunxin1001
  • 浏览: 310132 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

文件、文件夹 删除 复制 操作

阅读更多
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);    
 
      }    
}
分享到:
评论

相关推荐

    winform 文件操作 WM6.0 c# 遍历文件夹、复制文件、删除文件、复制文件内容

    本教程将详细介绍如何在这样的环境下遍历文件夹、复制文件、删除文件以及复制文件内容。 一、遍历文件夹 在C#中,我们可以使用`System.IO`命名空间下的`DirectoryInfo`类来遍历文件夹。以下是一个简单的示例: ``...

    Windows下C语言实现文件、文件夹的复制删除命令

    总之,Windows下使用C语言实现文件和文件夹的复制删除命令是一个综合性的任务,涉及到文件系统操作、通配符处理、目录树遍历、用户交互以及错误处理等多个方面。通过实践,开发者可以增强对操作系统API的掌握,提升...

    QT实现文件和文件夹的复制粘贴.pdf

    此外,文件和文件夹的复制操作可能涉及文件权限问题,这在不同的操作系统中可能有不同的处理方式。因此,开发者需要确保所写代码具有相应的权限,避免在复制过程中出现权限不足导致的错误。 综上所述,通过QT框架...

    QT实现文件夹和文件的复制粘贴.docx

    在QT中,文件夹和文件操作是非常重要的,QDir和QFile类提供了大量的函数来实现文件夹和文件的操作,例如创建、删除、复制、移动等。使用这些函数可以轻松地实现文件夹和文件的复制粘贴。 知识点5:QT中的错误处理 ...

    C#复制文件夹(及文件夹下所有子文件夹和文件)

    ### C#实现文件夹及其子文件夹和文件的复制 在C#开发中,经常会遇到需要复制文件夹及其内部所有子文件夹和文件的需求。这种需求常见于备份系统、文件同步服务或者数据迁移工具等场景。本文将详细介绍如何使用C#来...

    java文件夹及文件复制

    在Java编程语言中,文件和文件夹的复制是一项常见的任务,尤其在系统迁移、数据备份或者软件部署等场景中。本教程将详细讲解如何使用Java的文件I/O(Input/Output)功能,通过递归的方式来实现文件及文件夹的复制,...

    文件夹复制、文件复制工具

    在IT领域,文件和文件夹的复制是日常工作中不可或缺的操作,尤其对于系统管理员、开发者以及普通用户来说。这里我们将深入探讨“文件夹复制”和“文件复制”这两个关键概念,以及相关的工具和技术。 首先,文件复制...

    监听文件下文件发生变化时复制文件到另一个文件夹

    4. 安全性:确保复制操作不会导致数据泄露或破坏,例如,检查源文件的安全性,避免恶意文件的复制。 最后,从提供的压缩包文件名称“SearchRemoveFile”来看,可能还包含了搜索和删除文件的功能。搜索文件可能涉及...

    c#文件,文件夹基本操作

    在C#编程中,文件和文件夹的基本操作是日常开发中的常见任务,涵盖了从创建、读写、修改到管理文件系统结构的多个方面。本文将深入探讨如何使用C#进行这些操作,通过实例来帮助理解。 1. **新建文件与文件夹** 要...

    信息技术 文件和文件夹的操作

    例如,我们可以将C盘名为“student”的文件夹删除。 总结:本节我们学习了文件和文件夹的基本操作,包括选定文件或文件夹、新建文件夹、移动、复制文件或文件夹、文件或文件夹的改名和删除文件或文件夹。这些操作是...

    文件及文件夹常用操作类

    本主题主要围绕"文件及文件夹常用操作类",涵盖复制、剪切、查找、删除等基础功能,以及文件夹的创建与打开等操作。 1. **复制与剪切**: - **复制**:这是将文件或文件夹从一个位置创建到另一个位置的副本,通常...

    net里对文件和文件夹的操作

    这个命名空间包含了丰富的功能,允许开发者进行读写文件、创建删除文件夹、移动复制文件等一系列操作。以下是对这些核心知识点的详细阐述: 1. **文件操作** - **创建文件**:使用`File.Create`方法可以创建一个新...

    vc 文件夹的复制,移动,删除

    四、文件夹删除 1. RemoveDirectory函数:适用于空文件夹的删除。若文件夹非空,需要先删除或移动其中的所有文件和子文件夹。 2. SHFileOperation同样支持文件夹的删除,可以设置相应的操作标志。 五、代码实现...

    PB使用SHFileOperation函数复制文件夹(文件)API

    - `FO_DELETE`: 删除文件/文件夹 - `FO_MOVE`: 移动文件/文件夹 - `FO_COPY`: 复制文件/文件夹 - `FO_RENAME`: 重命名文件/文件夹 3. **pfrom**: 源路径字符串,以`NULL`终止。 4. **pto**: 目标路径字符串,...

    一个PHP文件操作类(文件和文件夹创建,复制,移动和删除)

    6. **文件夹操作**:除了文件操作,类库可能还包括`copyDirectory()`、`moveDirectory()`和`deleteDirectory()`方法,它们分别对应于文件夹的复制、移动和删除。这些方法可能使用递归算法遍历整个目录结构。 此外,...

    MFC 文件操作,文件复制删除创建

    在Microsoft Foundation Classes (MFC)库中,...文件夹系统操作演示"文件中,可能包含了更复杂的示例,比如涉及到目录操作、批量文件操作等。通过查看和学习这些示例,你可以进一步提升对MFC文件操作的理解和实践能力。

    从a文件夹到b文件夹文件复制

    在WinForms环境中,我们通常会设计一个用户界面,包括按钮、文本框等控件,用户可以通过输入或选择文件夹路径,然后点击按钮触发复制操作。事件处理程序中将包含上述逻辑,同时,为了提供反馈,可以使用` MessageBox...

    windows下如何将一个文件一次性复制到许多文件夹中?看这个bat脚本就够了

    目标文件夹3"`这一行则定义了要复制文件的目标文件夹,你可以根据需要添加或删除文件夹,各个文件夹路径之间用分号`;`隔开。 `for %%i in (%folders%) do ( ... )`这部分是一个for循环,它会遍历`folders`变量中的...

    大量复制文件,批量的对文件和文件夹进行复制

    开发者可能会用到`Form`类来创建用户界面,`Button`控件启动复制操作,`ProgressBar`控件显示复制进度,同时使用`Directory`和`File`类来进行文件操作。 在实际应用中,批量复制还可能涉及到错误处理和文件冲突的...

    文件与文件夹操作课件.ppt

    文件和文件夹是计算机操作...以上就是关于文件与文件夹操作的基础知识,包括它们的定义、类型、图标、创建、选择、打开、重命名、复制、移动、删除以及恢复等操作。理解并熟练掌握这些操作是使用计算机系统的基本技能。

Global site tag (gtag.js) - Google Analytics