`
catastiger
  • 浏览: 138449 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

文件夹复制

    博客分类:
  • JAVA
 
阅读更多
 public void copyFiles(String oldPath, String newPath) {

        File file = new File(oldPath);

        if (!file.exists()) {
            System.out.println(oldPath + " not have");
            return;
        }
        File fileb = new File(newPath);

        if (file.isFile()) {
            FileInputStream fis = null;
            FileOutputStream fos = null;
            try {
                fis = new FileInputStream(file);
                fos = new FileOutputStream(fileb);

                byte[] bb = new byte[(int) file.length()];
                fis.read(bb);
                fos.write(bb);

            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                try {
                    fis.close();
                    fos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        } else if (file.isDirectory()) {
            if (!fileb.exists()) {
                fileb.mkdir();
            }
            String[] fileList;
            fileList = file.list();
            for (int i = 0; i < fileList.length; i++) {
                copyFiles(oldPath + "/" + fileList[i], newPath + "/" + fileList[i]);
            }
        }

    }
分享到:
评论
2 楼 catastiger 2010-11-16  
/**
     * 大文件递归复制
     * @param fromPath 源文件File
     * @param toPath 目标目录File
     *
     */
    public void copyFile(String fromPath, String toPath) {
        File fromFile = new File(fromPath);
        File toFile = new File(toPath);
        try {
            if (fromFile.isFile()) {
                FileChannel fcin = new FileInputStream(fromFile).getChannel();
                FileChannel fcout = new FileOutputStream(toFile).getChannel();
                ByteBuffer bb = ByteBuffer.allocate(1024);
                while (fcin.read(bb) != -1) {
                    bb.flip();
                    fcout.write(bb);
                    bb.clear();
                }
                fcin.close();
                fcout.close();
            } else if (fromFile.isDirectory()) {
                if (!toFile.exists()) {
                    toFile.mkdir();
                }
                String[] fileList;
                fileList = fromFile.list();
                for (int i = 0; i < fileList.length; i++) {
                    copyFile(fromPath + File.separator + fileList[i], toPath + File.separator + fileList[i]);
                }
            }
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            logger.error(e.getMessage());
        } catch (IOException e) {
            // TODO Auto-generated catch block
            logger.error(e.getMessage());
        }
    }
1 楼 catastiger 2010-11-12  
递归删除
public void deleteFile(String path) {
        File file = new File(path);
        File[] temp = file.listFiles();
        for (int i = 0; i < temp.length; i++) {
            if (temp[i].isDirectory()) {
                if (temp[i].listFiles().length != 0){
                    deleteFile(temp[i].getAbsolutePath());
                }
                this.deleteDir(temp[i]);
            } else {
                temp[i].delete();
            }
        }
    }

    private void deleteDir(File file) {
        if (file.listFiles().length == 0){
            file.getAbsoluteFile().delete();
        }
    }

相关推荐

    WPF C# 文件夹复制,文件复制

    在WPF应用中,你可以将这个函数封装到一个按钮的点击事件处理程序中,让用户通过界面触发文件夹复制操作。例如: ```xaml 复制文件夹" Click="OnCopyFolderButtonClick" /&gt; ``` ```csharp private void ...

    文件夹复制病毒,文件夹隐藏专杀

    文件夹复制病毒是一种常见的计算机恶意软件,它会自我复制并隐藏在用户的文件夹中,导致文件夹无法正常访问或被篡改。这类病毒通常通过网络、U盘、邮件附件等途径传播,严重影响用户的数据安全和系统稳定性。面对...

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

    这里我们将深入探讨“文件夹复制”和“文件复制”这两个关键概念,以及相关的工具和技术。 首先,文件复制是指将一个或多个文件从源位置移动或复制到目标位置的过程。这个操作在各种场景中都非常常见,例如备份数据...

    C#文件夹复制

    "C#文件夹复制"这个主题涉及到如何利用C#语言的System.IO命名空间中的类和方法来实现一个文件夹及其子文件夹的递归复制功能。下面将详细解释这一过程以及涉及的关键知识点。 首先,`Directory`类是C#中处理目录的...

    将一个文件夹复制到另一个文件夹中并保留其权限

    ### 如何将一个文件夹复制到另一个文件夹中并保留其权限 在计算机管理与维护过程中,经常需要进行文件或文件夹的复制操作。对于Windows系统用户而言,复制时保持原有的文件权限设置是非常重要的,尤其是在涉及到...

    一个用VC编写的文件夹复制代码

    用VC编写的文件夹复制代码。 建一个支持MFC的控制台。 在using namespace std;下面加一句 #pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) //这句控制不显示界面 然后在main函数...

    文件夹复制功能(将一个文件复制到另外目录下)

    本文将详述“文件夹复制功能”这一主题,以及如何将一个文件复制到另一个目录下,并向数据库中写入相关文件信息。 首先,我们要理解文件夹复制的基本概念。在计算机系统中,复制文件夹意味着创建其原有内容的副本,...

    java 文件夹复制拷贝

    在Java编程中,文件夹复制是一项常见的操作,特别是在系统备份、数据迁移或者程序部署等场景。本篇将详细讲解如何实现文件夹的复制,并在复制完成后删除原文件夹。我们将基于给定的`FileCopy.java`文件来探讨相关...

    wince整个文件夹复制源码

    "wince整个文件夹复制源码"是一个专为WinCE环境设计的程序,用于实现文件夹的递归复制功能。下面我们将深入探讨这一主题,讲解如何在WinCE中高效地执行文件和文件夹的复制任务。 首先,我们需要了解WinCE的基本特性...

    vc文件夹复制的代码

    在这个场景下,"vc文件夹复制的代码"是指使用Visual C++ 6.0来编写程序,实现对本地文件夹进行拷贝的功能。下面我们将深入探讨如何使用VC++ 6.0来实现这一目标,以及相关的编程知识点。 首先,我们需要了解VC++ 6.0...

    java实现文件夹复制

    标题“java实现文件夹复制”所指的就是使用Java代码来复制一个文件夹及其所有内容。这个过程通常涉及到递归,因为文件夹可能包含子文件夹,而子文件夹又可能有更多子文件夹和文件。以下是实现这个功能的一种基本步骤...

    文件及文件夹复制

    ### 文件及文件夹复制:深度解析与实现策略 在IT领域,文件及文件夹的复制是一项基础但极其重要的操作,特别是在处理大批量数据转移时。本文将深入探讨文件及文件夹复制的技术细节,包括其核心原理、实现机制以及在...

    网络文件夹复制 实现将网络文件夹中的内容复制到本地磁盘中

    在IT领域,网络文件夹复制是一项常见的操作,尤其在数据迁移、备份或资源共享时。本文将深入探讨如何实现将网络文件夹中的内容复制到本地磁盘,并涉及相关的编程技术和注意事项。 首先,我们要理解网络文件夹的基本...

    文件批量复制工具,可以一次性将多个文件或文件夹复制到多个文件夹(目录)下

    这款文件批量复制工具可以一次性将多个文件或文件夹复制到多个文件夹(目录)下,既能批量复制文件,也能批量复制文件夹到多个目录。使用很简单,拖拽需要复制的文件或文件夹,以及目标文件夹到工具上,点击“批量...

    Qt文件夹复制压缩解压小工具

    【Qt文件夹复制压缩解压小工具】是一个基于Qt框架开发的应用程序,它主要用于便捷地进行文件夹的复制、压缩和解压操作。Qt是一个跨平台的C++图形用户界面库,提供了丰富的API用于创建GUI应用程序。这个工具利用Qt的...

    C# 复制文件夹到目标位置

    在提供的"ConsoleApplication10"这个文件名中,通常这类命名暗示这是一个控制台应用程序,可能是用于演示上述文件夹复制功能的代码示例。用户可以通过编译并运行此程序,传入源文件夹和目标位置作为参数,来测试...

    文件夹复制Java Io流

    文件夹复制Java Io流

Global site tag (gtag.js) - Google Analytics