`
lengyue_dick
  • 浏览: 84395 次
  • 性别: Icon_minigender_1
  • 来自: 内蒙古
社区版块
存档分类
最新评论

Java复制和删除文件

阅读更多
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); 

   } 
}





分享到:
评论

相关推荐

    java文件夹及文件复制

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

    java对文件的复制和删除(文件夹、文件)

    - Java中的`java.io.File`类是文件和目录路径名的抽象表示形式。它可以用来创建、删除、重命名文件或目录,以及获取它们的基本信息,如大小、最后修改时间等。 2. **文件复制**: - 文件复制通常涉及到`java.io....

    java 连接 FTP 文件操作(上传,下载,删除,复制

    本文将详细讨论如何使用Java连接FTP(File Transfer Protocol)服务器,进行文件的上传、下载、删除以及复制等操作。 首先,Java通过`java.net`和`javax.net`包提供了FTP客户端的功能。主要依赖于`java.net....

    java 文件管理器

    Java 文件管理器是一款基于Java语言开发的文件管理系统,它提供了用户友好的图形用户界面(GUI),使得用户可以方便地进行文件和目录的操作,如浏览、创建、删除、重命名、移动和复制等。这款应用程序旨在提供一个...

    文件资源管理器(java)文件打开删除复制粘贴等

    文件资源管理器是用户与计算机系统之间交互的重要接口,它允许用户查看、操作、组织和管理存储在设备上的文件和目录。在Java编程环境中,我们可以构建一个类似的文件资源管理器来实现这些功能。本篇文章将深入探讨...

    Java I/O文件读写/删除/复制等

    Java I/O 文件操作是Java编程中的重要组成部分,它允许开发者处理输入和输出,涉及文件的创建、读取、写入、删除以及复制等任务。在Java中,这些操作主要是通过java.io包提供的类来实现的。下面将详细介绍这些知识点...

    JAVA代码实现远程操作服务器文件

    通过使用SVNKit库和Trilead SSH2库,可以实现远程服务器文件的上传、下载、复制、移动、删除等操作。这些操作可以通过JAVA代码来实现。 4. 使用SCPClient实现文件上传和下载 SCPClient是一个基于ssh的文件传输协议...

    java springboot 七牛云文件上传,下载,删除

    本文将详细介绍如何使用Spring Boot集成七牛云服务,实现文件的上传、下载和删除功能。 首先,我们需要在Spring Boot项目中引入七牛云的SDK。在`pom.xml`文件中添加对应的Maven依赖: ```xml &lt;groupId&gt;...

    java文件和目录的增删复制

    上述代码提供了一个名为`ToolOfFile`的工具类,该类包含了对文件和目录进行增删复制的基本操作。 1. **创建目录**: 使用`newFolder`方法可以创建一个新的目录。它通过`java.io.File`类的`mkdir()`方法来创建目录...

    Java实现zp大文件解压、合并、复制、删除(30万文件大约2个小时)

    当解压合并结束后,程序将PROVINCE_DIR路径下的文件移动到DONE_FILE_PATH下,并且删除PROVINCE_DIR跟UN_ZIP_PATH下文件,这样保证程序每次运行PROVINCE_DIR文件夹下的文件跟UN_ZIP_PATH下的文件都是最新未处理过的,...

    java 连接 FTP 文件操作(上传,下载,删除,复制.zip

    本教程将深入讲解如何使用Java连接FTP服务器,并执行上传、下载、删除和复制等常见操作。 一、FTP连接基础 1. 首先,我们需要引入Apache Commons Net库,它提供了FTPClient类,方便我们与FTP服务器交互。在项目中...

    Java实现文件复制,File文件读取,写入,IO流的读取写入

    它可以用来创建、删除、重命名文件和目录,获取文件属性等。例如,创建一个新文件: ```java File file = new File("newFile.txt"); if (!file.exists()) { boolean created = file.createNewFile(); if ...

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

    在IT领域,尤其是在系统管理和自动化任务执行中,有时我们需要实时监控某个目录下的文件变化,并在文件发生变动时执行特定操作,如复制文件到其他位置。这个场景可以通过编程实现,常用的编程语言如Python、Java或C#...

    java 文本文件 支持新建,打开,复制,剪切...

    在Java编程语言中,处理文本文件是常见...综上所述,这个Java程序可能是一个简单的文本编辑器,提供了基本的文件操作功能,包括创建、打开、复制和剪切文本文件。理解这些概念对于任何Java开发者来说都是基础且重要的。

    java_io_文件操作_复制_删除_移动_下载

    本文介绍了Java中关于文件的基本操作,包括删除、复制、移动和下载等功能。通过这些基础操作的学习,你可以更加熟练地使用Java进行文件管理。需要注意的是,在实际开发中,对于文件操作异常的处理非常重要,要确保...

    java 文件或文件夹 创建 删除 复制 移动 指定目录等

    java 文件或文件夹 创建 删除 复制 移动 指定目录等

    java实现对文件的各种操作的工具类.md

    # java实现对文件的各种操作的工具类 ## 可以实现的操作有: 1. 删除单个文件 2. 删除文件夹及文件夹下的文件 3. 使用文件流对单个文件进行复制 4. 复制整个文件夹内容(包含子文件夹中的所有内容) 5. ...

    java实现,简单文件监控

    首先,我们要了解Java中的`java.io.File`类,它是文件和目录路径名的抽象表示。通过创建`File`对象,我们可以获取文件的基本信息,如名称、大小、修改时间等,并进行基本的文件操作。为了监控文件系统的变化,我们...

Global site tag (gtag.js) - Google Analytics