IO编程 文件拷贝代码

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

public class Test1 {
 public static void main(String[] args) throws Exception {
 if(args.length!=2) {
     System.out.println("命令执行错误,执行结构:java JAVAAPIDEMO 拷贝源文件路径  拷贝目标文件路径");
     System.exit(1);
 }
 long start=System.currentTimeMillis();
 FileUtil fu=new FileUtil(args[0],args[1]);
 
     System.out.println(fu.copy()?"文件拷贝成功":"文件拷贝失败");
    
 
 long end=System.currentTimeMillis();
 System.out.println("拷贝完成的时间:"+(end-start));
        
 }
}
 class FileUtil{
     private File srcFile;
     private File desFile;
     public FileUtil(File srcFile,File desFile) {
         this.desFile =desFile;
         this.srcFile =srcFile;
     }
     public FileUtil(String src, String des) {
         this(new File(src),new File(des));
    }
    
    public boolean copy() throws Exception {//文件的拷贝处理
         if(!this.srcFile.exists()) {
            System.out.println("要拷贝的源文件不存在");
             return false;
         }
         if(!this.desFile.getParentFile().exists()) {
             this.desFile.getParentFile().mkdirs();
         }
         byte data[]=new byte[1024];
         InputStream input=null;
         OutputStream out=null;
         try {   input = new FileInputStream(this.srcFile);
                  out = new FileOutputStream(this.desFile);
                  int len=0;
                  while((len=input.read(data))!=-1) {
                      out.write(data,0,len);
                  }
                  
                  
                  
                  
        } catch (Exception e) {
            // TODO: handle exception
        }finally {
            if(input!=null) {
                input.close();
            }if(out!=null) {
                out.close();
            }

}
        return true;    
    }
 
    
    
    public void copyFileImpl(File srcFile,File desFile) throws Exception {
         byte data[]=new byte[1024];
         InputStream input=null;
         OutputStream out=null;
         try {   input = new FileInputStream(this.srcFile);
                  out = new FileOutputStream(this.desFile);
                  int len=0;
                  while((len=input.read(data))!=-1) {
                      out.write(data,0,len);
                  }
               
                  
        } catch (Exception e) {
            throw e;
        }finally {
            if(input!=null) {
                input.close();
            }if(out!=null) {
                out.close();
            }

}
    }
    
 }

原文地址:https://www.cnblogs.com/yxj808/p/12683396.html

时间: 2024-10-10 05:07:38

IO编程 文件拷贝代码的相关文章

Java IO编程——文件拷贝

在操作系统里面有一个copy命令,这个命令的主要功能是可以实现文件的拷贝处理,现在要求模拟这个命令,通过初始化参数输入拷贝的源文件路径与拷贝的目标路径实现文件的拷贝处理. 需求分析: ·需要实现文件的拷贝操作,那么这种拷贝就有可能拷贝各种类型的文件,所以肯定使用字节流: ·在进行拷贝的时候有可能需要考虑到大文件的拷贝问题: 实现方案: ·方案一:使用InputStream将全部要拷贝的内容直接读取到程序里面,而后一次性的输出到目标文件: |- 如果现在拷贝的文件很大,基本上程序就死了: ·方案二

IO流-文件拷贝

其实文件的拷贝还是文件读取写入的应用,实际是读取此路径上的文件,然后写入到指定路径下的文件. 代码举例: import java.io.*; import java.lang.*; class Test { public static void main(String[] args) { copy("C:\\log.txt", "d:\\log.txt"); } //块读取方式 public static void copy(String sourcePath, S

Python之IO编程——文件读写、StringIO/BytesIO、操作文件和目录、序列化

IO编程 IO在计算机中指Input/Output,也就是输入和输出.由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口.从磁盘读取文件到内存,就只有Input操作,反过来,把数据写到磁盘文件里,就只是一个Output操作. 由于CPU和内存的速度远远高于外设的速度,所以,在IO编程中,就存在速度严重不匹配的问题.举个例子来说,比如要把100M的数据写入磁盘,CPU输出100M的数据只需要0.01秒,可是磁盘要接收这10

Python学习(九)IO 编程 —— 文件夹及文件操作

Python 文件夹及文件操作 我们经常会与文件和目录打交道,对于这些操作,python可以使用 os 及 shutill 模块,其中包含了很多操作文件和目录的函数.这边,仅介绍通常会用到的方法. os 可以操作简单的文件夹及文件操作,引入用  import os,可用  help(os)  或是  dir(os)  查看其用法.注意有些函数在os模块中,有的是在os.path模块中. shutil 模块提供了大量的文件的高级操作.特别针对文件拷贝和删除,主要功能为目录和文件操作以及压缩操作.须

文件拷贝代码模型

采用边读边写的模式,即:一部分一部分读取数据,而后一部分一部分进行内容的保存. 由于此时要拷贝的可能是二进制文件,所以使用字节流操作会更加的合适. 设置源文件,和拷贝文件地址: 代码: 1 package cn.demo; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.InputStream; 6 import java.io.OutputStream; 7 import java.io.F

java IO流文件拷贝文件(字符流标准写法)

public static void copyFile2(String path1, String path2) { Reader reader = null; Writer writer = null; try { // 打开流 reader = new FileReader(path1); writer = new FileWriter(path2); // 进行拷贝 int ch = -1; char [] arr=new char[1024]; while ((ch = reader.r

Python IO编程——文件读写

1.1   文件读写 1.1.1   读文件 >>> f = open('/root/python/hello.py','r')    #标识符r表示读 >>> f =open('/root/python/hello1.py', 'r')   #文件不存在报错 Traceback (most recent call last): File "<stdin>", line 1, in <module> FileNotFoundE

Java文件(io)编程——文件字节流的使用

案例1: 演示FileInputStream类的使用(用FileInputStream的对象把文件读入到内存) 首先要在E盘新建一个文本文件,命名为test.txt,输入若干字符 1 public class Demo_2 { 2 3 public static void main(String[] args) { 4 File f=new File("e:\\test.txt"); //得到一个文件对象f,指向e:\\test.txt 5 FileInputStream fis=nu

java IO Nio 文件拷贝工具类Files

public static void main(String[] args) throws Exception { Files.copy(Paths.get("file/text.txt"), new FileOutputStream("nio.txt")); } Files类具体使用方法详解