java实现文件夹的复制、移动、删除

      日前编程时需要进行对文件的移动和删除等操作,故把方法贴出来以便记忆。

/**
* @package com.sinosoft.services.transmission
* @File    MoveFile.java
* */
package com.sinosoft.services.transmission;

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

/**
* <p>
* Title:文件操作
* <p>
* desc: 提供文件移动、复制和删除的方法
* <p>
*/
public class MoveFile {

    /**
    * Moving a File to Another Directory
    * 
    * @param srcFile
    *            eg: c:\windows\abc.txt
    * @param destPath
    *            eg: c:\temp
    */
    public static boolean move(String srcFile, String destPath) {
        // File (or directory) to be moved
        File file = new File(srcFile);

        // Destination directory
        File dir = new File(destPath);

        // Move file to new directory
        boolean success = file.renameTo(new File(dir, file.getName()));

        return success;
    }

    /**
    * Copy a File to Another Directory
    * 
    * @param srcfile
    *            eg: c:\windows\abc.txt
    * @param destfile
    *            eg: c:\temp\abc.txt
    */
    public static void copyfile(String srcfile, String destfile)
            throws IOException // 使用FileInputStream和FileOutStream
    {
        FileInputStream fi = new FileInputStream(srcfile);
        FileOutputStream fo = new FileOutputStream(destfile);
        byte data[] = new byte[fi.available()];
        System.out.println(fi.available());
        fi.read(data);
        fo.write(data);
        fi.close();
        fo.close();
    }
    
    /**
    * Delete all context in a filepath
    * 
    * @param File
    */
    public static void delAll(File f) throws IOException {
        if(!f.exists()){
            System.out.println("指定目录不存在:"+f.getName());
        }else{
        boolean rslt=true;// 保存中间结果
        // 若文件夹非空。枚举、递归删除里面内容
        File subs[] = f.listFiles();
        for (int i = 0; i <= subs.length - 1; i++) {
            if (subs[i].isDirectory())
            delAll(subs[i]);// 递归删除子文件夹内容
            rslt = subs[i].delete();// 删除子文件夹
        }
        rslt = f.delete();//删除文件夹本身
        }
    }
    

    public static void main(String[] args) {
        String srcfile = "D:\\admin\\Distribute\\receive\\package.rar";
        String destfile = "D:\\admin\\Distribute\\store\\package.rar";
        String destpath = "D:\\admin\\Distribute\\store";
        // move(srcfile, destpath);
        try {
            copyfile(srcfile, destfile);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

} 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 实现一个文件管理系统可以使用 Java 语言来编写。 首先,可以使用 Java 的文件 IO 类(例如 java.io.File)来操作文件和文件夹,这样可以方便地读取、写入、删除、重命名文件和文件夹。 其次,可以使用 Java 的图形用户界面(GUI)开发框架(例如 JavaFX 或 Swing)来实现界面,便于用户进行操作。 最后,可以使用 Java 的多线程技术(例如 java.util.concurrent 包)来实现文件管理系统的多任务处理能力。 总的来说,使用 Java 实现一个文件管理系统需要掌握 Java 的文件 IO、图形用户界面开发和多线程技术。 ### 回答2: 使用Java实现一个文件管理系统可以通过以下步骤完成: 首先,需要定义文件和文件夹类。文件类可以包括文件名、文件类型、文件大小和文件路径等属性,提供获取和设置这些属性的方法。文件夹类可以包括文件夹名和包含的文件和文件夹列表,同样提供相应的方法进行操作。 然后,可以创建一个文件系统类,负责管理文件和文件夹。该类可以包括一个文件和文件夹列表,以及相应的方法来添加、删除和查询文件和文件夹。可以使用ArrayList来存储文件和文件夹列表。 接下来,可以实现一些常用的文件操作功能,如创建文件、删除文件、重命名文件、复制文件、移动文件等。这些操作可以在文件系统类中实现,根据用户输入的命令进行相应的操作。 可以通过命令行或图形界面来实现与用户的交互。命令行界面可以接受用户输入的命令,然后调用文件系统类中的相应方法进行操作,并返回相应的结果。图形界面可以通过按钮、文本框等组件来实现用户的输入和展示结果。 在文件管理系统中,还可以实现一些高级功能,如文件搜索、文件排序、文件压缩与解压缩等。对于文件搜索功能,可以通过递归遍历文件夹和文件来查找符合条件的文件。对于文件排序功能,可以使用不同的排序算法对文件列表进行排序。对于文件压缩与解压缩功能,可以使用Java提供的压缩和解压缩类库进行实现。 最后,为了保证文件管理系统的稳定性和数据的安全性,可以考虑实现文件备份和恢复功能。可以使用Java提供的文件输入输出流和文件拷贝功能来进行文件的备份和恢复。 总之,使用Java实现一个文件管理系统需要定义合适的类和方法,实现常用的文件操作功能,并实现与用户的交互。这样可以方便用户管理和操作文件,提高工作效率。 ### 回答3: 为了使用Java实现一个文件管理系统,我们需要考虑以下几个关键方面: 1. 文件系统的结构:文件管理系统可以使用树状结构来组织文件和文件夹。每个节点代表一个文件或文件夹,其中根节点是最顶级的文件夹。我们可以使用Java的类来表示文件和文件夹,并使用适当的数据结构来组织它们。 2. 创建文件和文件夹:我们需要实现方法来创建新的文件和文件夹。对于文件夹,我们需要考虑如何处理重名的情况,并确保文件和文件夹的名称唯一。 3. 删除文件和文件夹:我们还需要实现方法来删除文件和文件夹。在删除文件夹时,我们需要递归删除所有内容。 4. 重命名文件和文件夹:如果用户想要重命名文件或文件夹,我们应该提供相应的方法来处理这种情况。 5. 移动文件和文件夹:用户可能需要将文件或文件夹移动到其他位置。我们需要实现方法来支持此功能,并确保移动后的目标位置唯一。 6. 搜索文件和文件夹:我们可以实现根据名称、后缀名或其他属性来搜索文件和文件夹的方法。这将帮助用户快速找到所需的文件。 7. 文件访问权限控制:我们可以为文件和文件夹定义不同的访问权限,例如读取、写入和执行。我们需要实现相应的方法来处理这些权限。 8. 文件属性:为了提供更多信息,我们可以为文件和文件夹定义额外的属性,如创建日期、修改日期和文件大小等。 无论是在控制台界面还是图形用户界面中,我们可以实现各种操作和功能来使用和管理文件系统。使用Java可以方便地处理文件和文件夹的操作,同时还可以提供良好的用户体验和可靠的文件管理功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值