148_文件的拷贝

一、文件的拷贝

package edu.aeon.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;
/**
 * [说明]:文件的拷贝
 * @author aeon
 *
 */
public class CopyFile {

    public static void testCopyFile() throws IOException{
        //源文件    目标文件
        File srcFile=new File("b:/test/test.txt");
        File destFile=new File("b:/test/testCopy.txt");
        //读取写入流
        InputStream inputStream =new FileInputStream(srcFile);
        OutputStream outputStream=new FileOutputStream(destFile);
        //建立1M的缓存数组
        byte by[]=new byte[1024];
        //实际读取文件的长度
        int len=0;
        //不断的将读取到的数据写入到指定文件(可一不存在、写入的时候自动建立)中
        while(-1!=(len=inputStream.read(by))){
            outputStream.write(by, 0, len);
        }
        //强制刷出
        outputStream.flush();
        //关闭流
        outputStream.close();
        inputStream.close();
    }

    public static void testCopyFile(String src,String dest) throws IOException{
        //源文件    目标文件
        File srcFile=new File(src);
        File destFile=new File(dest);
        /*//读取写入流
        InputStream inputStream =new FileInputStream(srcFile);
        OutputStream outputStream=new FileOutputStream(destFile);
        //建立1M的缓存数组
        byte by[]=new byte[1024];
        //实际读取文件的长度
        int len=0;
        //不断的将读取到的数据写入到指定文件(可一不存在、写入的时候自动建立)中
        while(-1!=(len=inputStream.read(by))){
            outputStream.write(by, 0, len);
        }
        //强制刷出
        outputStream.flush();
        //关闭流
        outputStream.close();
        inputStream.close();*/
        testCopyFile(srcFile,destFile);
    }

    public static void testCopyFile(File srcFile,File destFile) throws IOException{
        //读取写入流
        InputStream inputStream =new FileInputStream(srcFile);
        OutputStream outputStream=new FileOutputStream(destFile);
        //建立1M的缓存数组
        byte by[]=new byte[1024];
        //实际读取文件的长度
        int len=0;
        //不断的将读取到的数据写入到指定文件(可一不存在、写入的时候自动建立)中
        while(-1!=(len=inputStream.read(by))){
            outputStream.write(by, 0, len);
        }
        //强制刷出
        outputStream.flush();
        //关闭流
        outputStream.close();
        inputStream.close();
    }
    public static void main(String[] args) {
        String src="b:/test/test.txt";
        String dest="b:/test/testCopy.txt";
        try {
            //testCopyFile();
            //testCopyFile(src, dest);
            testCopyFile(new File(src),new File(dest));
        } catch (IOException e) {
            System.out.println("文件拷贝失败!");
            e.printStackTrace();
        }
    }
}

此处大家可根据自己的需求将文件的拷贝写一个工具类、比如写个CopyFileUtils工具类。

原文地址:https://www.cnblogs.com/aeon/p/10048063.html

时间: 2024-10-27 17:10:53

148_文件的拷贝的相关文章

java 文件及文件夹拷贝

View.java package com.liang; import java.awt.Color; import java.awt.Dimension; import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JProgressBa

用C#实现文件夹拷贝

用C#实现文件夹拷贝 C#中没有拷贝整个文件夹的方法,最近需要用到,就写了一个Demo,拿出来跟大家分享一下 主要思想: 1.写一个拷贝文件夹的函数CopyFolder,传入源文件夹路径和目的文件夹路径 2.判断目的文件夹路径是否存在,如果不存在,创建此文件夹 3.获取源文件夹下的所有文件,拷贝这些文件到目的文件夹 4.获取源文件夹下的所有文件夹,循环调用CopyFolder(此处利用了递归) 代码: using System; using System.IO; namespace Folder

利用文件的输入流输出流实现文件的拷贝

1 import java.io.FileInputStream; 2 import java.io.FileNotFoundException; 3 import java.io.FileOutputStream; 4 import java.io.IOException; 5 /** 6 * 利用文件的输入流输出流实现文件的拷贝: 7 * */ 8 public class TestFileOutputStream { 9 public static void main(String[] a

【ThinkingInC++】3、文件的拷贝

/** * 功能:文件的拷贝 * 时间:2014年8月8日07:40:21 * 作者:cutter_point */ #include<iostream> #include<stdlib.h> #include<fstream> #include<string> using namespace std; int main() { ifstream fin("test1.jpg", ios::binary); ofstream fout(&

电脑的文件怎么拷贝复制到VMware虚拟机

我们有时候想要在电脑和虚拟机之间复制粘贴文件,当然最笨的方法是用U盘进行复制转移,但是这样也太落伍了吧,那么我们怎么利用虚拟机自带的功能,然后将电脑的文件复制拷贝到VMware虚拟机中呢?有些朋友不太熟悉操作方法,其实这里面我们主要是要安装虚拟机的VMware Tools工具,我们安装这个工具以后,不仅仅可以将电脑文件拷贝到虚拟机,当然也可以将虚拟机的文件转移到电脑,这里小编介绍下操作方法. 工具/原料 电脑和VMware虚拟机文件复制互传 电脑的文件怎么拷贝复制到VMware虚拟机 我们打开虚

BAT 快速删除CVS文件和拷贝最近修改文件的目录结构

相信大家在操作大量文件的的时候,经常会遇到一些手动很难操作的情况 比如有CVS版本控制下每个文件夹下都有一个CVS文件夹,一个个手工删除肯定很费劲,我们都是懒人,还是用工具解决吧.不用重新写程序,直接用BAT命令就能作到.把下面的代码拷贝到记事本,保存成bat可执行文件,放到CVS根目录下,直接执行就行. ? 1 2 3 4 5 6 7 @echo off echo Deleting CVS folders and files under: %1 REM Open Folder specifie

C# 文件夹拷贝

1 /// <summary> 2 /// 整个文件夹拷贝 3 /// </summary> 4 /// <param name="yanfilepath">源</param> 5 /// <param name="mudifilepath">目标</param> 6 public void CopyFilesDirs(string yanfilepath, string mudifilepat

iOS 实现文件的拷贝

// //  main.m //  filecopy // //  Created by GuoYule on 15/2/19. //  Copyright (c) 2015年 GuoYule. All rights reserved. // #import <Foundation/Foundation.h> //实现文件的拷贝 #define SRCPATH @"/Users/guoyule/Desktop/emailreceipt_20150214R3887454299_new.

IO文件夹拷贝(文件内含有文件和文件夹)

1 /** 2 * 文件夹拷贝(文件内含有文件和文件夹) 3 * 4 * @param src 5 * @param des 6 */ 7 private static void copy(String src, String des) { 8 File file1 = new File(src); 9 File[] fs = file1.listFiles(); 10 File file2 = new File(des); 11 if (!file2.exists()) { 12 file2.