`
javaG
  • 浏览: 555020 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java 实现简单的文件拷贝

    博客分类:
  • java
阅读更多

昨天面试,面试官要我在黑板上写个java文件复制的代码,但是一时紧张没写出来,回来后决定写一个出来。

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package cn.lsd;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @date   2008-11-26 
 * @author lsd
 */
public class Cpp {
    private String sourceFile;
    private String destFile;
    
    public Cpp(String sourceFile,String destFile){
        this.sourceFile = sourceFile;
        this.destFile = destFile;
        doCopy();
    }

    private void doCopy() {
        FileInputStream in =null;
        FileOutputStream out =null;
        byte[] buffer = new byte[102400];
        try {
            in = new FileInputStream(this.sourceFile);
            File dest = new File(this.destFile);
            if(!dest.exists()){//目标文件对应的目录不存在,创建新的目录
                int index = new String(this.destFile).lastIndexOf("/");
                String path = this.destFile.substring(0, index);
                new File(path).mkdirs();
            }
            out = new FileOutputStream(this.destFile);
            int num =0;
            while((num=in.read(buffer))!=-1){
                out.write(buffer,0,num);
            }
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Cpp.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException e){
            Logger.getLogger(Cpp.class.getName()).log(Level.SEVERE, null, e);
        } finally{
            try {
                if(in!=null)
                    in.close();
                if(out!=null)
                    out.close();
            } catch (IOException ex) {
                Logger.getLogger(Cpp.class.getName()).log(Level.SEVERE, null, ex);
            }
            
        }
    }
    
    public static void main(String[] args){
        String sourceFile = "d:/颐和园yhy[小新奉献].rmvb";
        String destFile = "D:/s/sd/1.rmvb";
        long startTime =System.currentTimeMillis();
        System.out.println("start to copy");
        Cpp c= new Cpp(sourceFile,destFile);
        long endTime = System.currentTimeMillis();
        long time = (endTime-startTime)/1000;
        System.out.println("copy end;cost:"+time);
    }
     
}

 

分享到:
评论
3 楼 javaG 2009-03-21  
哥们用apache写代码不好,基础最重要,如果能自己写最好自己写
2 楼 wnxsm 2009-03-10  
我前天笔试也考到了。但没做出来!
1 楼 casheen 2008-12-16  
import java.io.File;

import org.apache.tools.ant.Project;
import org.apache.tools.ant.taskdefs.Copy;

public class FileUtils {

	public static void copyToFile(String srcFile, String destFile) {
		Project project = new Project();
		Copy copy = new Copy();
		copy.setProject(project);
		copy.setFile(new File(srcFile));
		copy.setTofile(new File(destFile));
		copy.execute();
	}

	public static void copyToDir(String srcFile, String destDir) {
		Project project = new Project();
		Copy copy = new Copy();
		copy.setProject(project);
		copy.setFile(new File(srcFile));
		copy.setTodir(new File(destDir));
		copy.execute();
	}

	public static void main(String[] args) {
		copyToFile("c:/aaa.txt", "d:\\b.txt");
		copyToDir("c:/aaa.txt", "d:\\dir");
	}

}

相关推荐

    用java实现文件拷贝

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

    Java实现Linux的远程拷贝

    一旦连接建立成功,我们可以使用`session`对象的`execCommand()`方法执行Linux命令,比如`cp`或`rsync`进行文件拷贝。例如: ```java Channel channel = session.openChannel("exec"); ((ChannelExec) channel)....

    java代码实现文件的拷贝

    Java的`java.io`包提供了一系列的流类来处理输入和输出操作,使得文件拷贝变得相对简单。在这个场景中,我们将深入探讨如何使用Java的IO流来实现文件的拷贝,以及相关的知识点。 首先,让我们了解`java.io`包中的...

    java流实现文件拷贝

    今天复习了一下java流的知识,做了个小例子,实现文件的拷贝。(中文和空格都能很好的读取)(PrintWriter\OutputStreamWriter\FileOutputStream)

    Java 实现拷贝文件

    这里是Java拷贝文件的java文件 可以按照自己选择要拷贝的文本文件 和将拷贝文件存放的目录 只需输入目标文件的地址 和目的文件的地址 以及文件名 即可实现 是课堂例子的拓展实现

    用java实现的文件和文件夹拷贝和转移

    用java实现的文件和文件夹拷贝和转移

    JAVA实现文件拷贝进度条同步显示

    文件拷贝的同时,进度条同步显示拷贝进度。只需要修改源文件地址与目标文件地址即可

    用java语言(文件和文件流知识点)实现图片的拷贝,从c盘拷贝到d盘

    java语言(文件和文件流知识点)实现图片的拷贝,从c盘拷贝到d盘

    功能强大的java实现的拷贝文件的工具类(0)

    功能强大的文件拷贝工具类  复制文件  @author:heyuelin 2011-01-06  @param srcFile 源文件File  @param destDir 目标目录File  @param isClone true:将按照源文件目录拷贝,false:将提取出文件拷贝到...

    java 文件拷贝

    Java中实现文件拷贝的示例代码如下: ```java import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; public class...

    多文件内容拷贝到一个文件上(解决中文乱码) java实现

    使用java IO技术实现将多文件中的内容集中到一个文件上 只需输入一个文件夹的路径和目的路径即可完成文件拷贝复制 并且解决了中文乱码的问题s

    Java简易文件管理器

    2.实现文件的拷贝与粘贴功能。3.实现文本类文件(.txt, .java, .ini, .bat, )的预览功能(比如实现对前100行文本在某个小窗口中进行预览)。4.实现文件的重命名功能。5.实现对某个文件夹进行统计功能(如统计文件夹中...

    JAVA 带进度条的文件拷贝程序

    在Java编程中,创建一个带有进度条的文件拷贝程序是一项实用技能,尤其对于那些希望增强用户界面体验的开发者来说。下面将详细讲解这个“JAVA 带进度条的文件拷贝程序”的核心知识点。 首先,我们需要理解的是,...

    Java无敌 基于网络的文件拷贝

    在Java编程中,实现基于网络的文件拷贝是一项常见的任务,尤其在分布式系统或云存储应用中。这个项目的关键在于高效、稳定地传输大量数据。根据提供的标题和描述,我们来详细探讨一下如何使用Java来实现这样的功能。...

    java 局域网拷贝文件

    总结,Java实现代理局域网文件拷贝涉及网络连接、I/O流操作和路径动态构建等多个方面。正确处理这些问题,可以确保在各种环境下稳定、高效地完成文件传输任务。在实际开发中,可以根据项目需求选择适合的方法和技术...

    JAVA实现GUI文件管理器

    3、实现文件拷贝和文件夹拷贝(文件夹拷贝指深度拷贝,包括所有子目录和文件)。 4、实现指定文件的加密和解密。 5、实现指定文件和文件夹的压缩。 6、实现压缩文件的解压。 7、文件管理器具有图形界面。 建议使用...

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

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

    java实现文件拷贝的七种方式

    Java 实现文件拷贝的七种方式 Java 实现文件拷贝是 Java 编程中的一种常见操作。文件拷贝是指将源文件的内容复制到目标文件中,实现文件的备份、迁移或分享等目的。在 Java 中,可以使用多种方式实现文件拷贝,本文...

    java FTP 实现上传 下载 拷贝

    java FTP 实现上传 下载 拷贝 亲测可用 java FTP 实现上传 下载 拷贝 java FTP 实现上传 下载 拷贝

    java swing拷贝文件进度条

    在Java Swing中实现文件拷贝并同时显示进度条是一项常见的任务,特别是在处理大文件时,让用户了解拷贝进度是提高用户体验的重要方式。下面我们将深入探讨如何使用Java Swing来创建这样一个功能。 首先,我们需要...

Global site tag (gtag.js) - Google Analytics