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

文件拷贝

阅读更多
// 任务:
// 写一个文件拷贝函数: fileCopy(String a ,String b)   
// a--表示原文件名   b--表示目标文件名扩展:
// 如果a是文件,则copy a到b ;
// 如果a是目录,则copy a下的所有文件和文件夹(包括子文件夹)到b目录下。
//

import  java.io. * ;


public   class  IODemo {
    
     public   void  fileCopy(String a, String b){
        File file  =   new  File(a);

         if ( ! file.exists()){
            System.out.println(a  +   "  Not Exists. " );
             return ;
        }
        File fileb  =   new  File(b);

         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 ++ ){
                fileCopy(a  +   " \\ "   +  fileList[i],b  +   " \\ "   +  fileList[i]);
            }
        }

    }
    
}

 

分享到:
评论
1 楼 showtimes52007 2013-01-02  
lz实现的拷贝方法是io的,我前几天也写了个拷贝文件的方法,只不过是单文件,不包含文件夹的,不过使实现是nio的,lz可参考下并改进哦:http://www.sujunqiang.com/archives/174.html
理论上nio是要比io快的.

相关推荐

    大名鼎鼎的小文件拷贝工具

    在信息技术高速发展的今天,文件拷贝的需求在各个领域无处不在。无论是数据备份、资料转移还是系统迁移,快速高效地处理文件拷贝任务都显得尤为重要。尤其是对于那些包含大量小文件的场景,传统的单线程拷贝方式效率...

    Qt 文件拷贝带进度条显示

    **Qt 文件拷贝带进度条显示** 在编程领域,特别是在GUI(图形用户界面)开发中,用户界面的反馈至关重要。当涉及到大文件的复制或移动时,提供一个进度条可以显著提升用户体验,让用户知道操作正在进行并估计剩余...

    Linux下C语言实现文件拷贝

    ### Linux下C语言实现文件拷贝 #### 一、引言 在计算机编程领域,特别是在系统级编程中,文件操作是非常基础且重要的功能之一。在Linux环境下,利用C语言进行文件操作具有高度的灵活性和效率。本文将详细介绍如何在...

    Qt实现文件拷贝

    在本文中,我们将深入探讨如何使用Qt框架在C++中实现多线程文件拷贝功能。Qt是一个跨平台的应用程序开发框架,它提供了丰富的API来处理文件操作和多线程编程,使得我们可以方便地实现高效的文件复制任务。 首先,...

    文件拷贝辅助工具源码

    《文件拷贝辅助工具源码解析与应用》 在日常工作中,我们经常需要进行大量文件的复制和移动操作,尤其在处理大型项目或数据迁移时,手动操作既耗时又容易出错。针对这一需求,一种名为“文件拷贝辅助工具”的程序...

    MFC文件拷贝程序MFC文件拷贝程序

    要实现文件拷贝,我们需要创建两个CFile对象,分别对应源文件和目标文件,然后通过读取源文件并写入目标文件来完成拷贝过程。 首先,我们需要打开源文件。可以使用CFile的成员函数Open(),传入文件路径和访问模式。...

    mfc文件浏览器实现文件拷贝功能多线程

    在本文中,我们将深入探讨如何使用Microsoft Foundation Class (MFC) 框架来实现一个文件浏览器,并且重点讲解如何在其中实现文件拷贝功能,同时利用多线程技术提高程序性能。MFC 是 Microsoft 提供的一个C++库,它...

    Linux系统U盘自动识别与文件拷贝

    在Linux系统中,U盘的自动识别和文件拷贝是一个常见的需求,特别是在自动化运维和数据传输的场景下。本文将详细解析"Linux系统U盘自动识别与文件拷贝"的相关知识点,通过源码udisk.c和udisk.h来探讨实现这一功能的...

    Android 文件拷贝Demo

    Android 文件拷贝Demo,可实现SD卡以及内部存储之间进行拷贝

    Super File Copying 超级文件拷贝机

    一个强大的文件拷贝/坏区恢复工具,可以实现拷贝坏区文件、合并文件、测试文件拷贝速度的有效工具。 你遇到过下面的问题吗? 1.你的文件有坏区;2.你的文件被截断了;3.你需要合并同一个文件...... 当你的...

    C# 黑马.Net_大文件拷贝实例源码

    大文件拷贝实例源码,学习关于IO文件流、多线程相关使用做参考。 private void button4_Click(object sender, EventArgs e) { this.progressBar1.Value = 0; this.label1.Text = "0%"; if (!File.Exists(this....

    一个控制文件拷贝速度的java程序

    标题中的“一个控制文件拷贝速度的java程序”指的是一个Java程序,它的主要功能是管理文件复制过程的速度,可能是为了防止硬盘过载、优化系统资源使用或者确保数据传输的稳定性。这种程序通常会通过设置一定的速率...

    fastcopy日本最快文件拷贝工具

    Fastcopy是日本的最快的文件拷贝工具。磁盘间相互拷贝文件是司空见惯的事情,通常情况都是利用WINDOWS自带的复制粘贴功能来实现的。这样做在数目较小的情况下倒也没什么问题,但是数目较大时,系统自带的复制功能就...

    光盘坏文件拷贝器V2.1

    《光盘坏文件拷贝器V2.1:探索数据恢复与备份的奥秘》 在数字信息的时代,光盘作为一种存储介质,虽然已经被硬盘、U盘和云存储等更现代的技术所替代,但仍然在某些领域发挥着不可忽视的作用。然而,随着时间的推移...

    文件拷贝(将文件从A路径拷贝到B路径)

    实现不同路径文件的拷贝,输入参数a(带拷贝的文件路径)b(拷贝文件的目标路径)。

    VS2010实现文件拷贝并显示进度条

    在本文中,我们将深入探讨如何使用Visual Studio 2010来实现文件拷贝功能,并在拷贝过程中显示一个进度条以提供用户友好的界面体验。这个实现主要涉及MFC(Microsoft Foundation Classes)库,以及Windows API中的...

    用java实现文件拷贝

    Java实现文件拷贝的小程序 本资源是一个使用Java语言实现文件拷贝的小程序,具有很实用的功能。下面是对这个小程序的详细解释和知识点总结: 文件拷贝的基本概念 文件拷贝是将一个文件的内容复制到另一个文件中,...

    第12讲 Java有几种文件拷贝方式?哪一种最高效?1

    在Java编程中,文件拷贝是一项常见的操作,有多种实现方式。本节主要讨论了三种典型的方法,并探讨了它们的效率和底层实现机制。 首先,Java.IO类库提供了一种基于`FileInputStream`和`FileOutputStream`的文件拷贝...

    文件拷贝演示 多线程实现拷贝进度条

    文件拷贝演示 多线程实现拷贝进度条

    MavenUtil 文件拷贝

    【MavenUtil 文件拷贝】 在Java开发中,Maven是一个强大的项目管理和依赖管理工具,它可以帮助开发者构建、管理和部署应用程序。MavenUtil是特定于某个项目或库的一个实用工具类,它通常包含了与Maven相关的辅助...

Global site tag (gtag.js) - Google Analytics