这个工具类是我模仿Spring的工具类实现的,从模仿spring的编程风格开始塑造自己的编程风格。
package com.amuse.utils;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* 类FileCopyUtil.java的实现描述:FileCopyUtil.java
* @author yongchun.chengyc 2012-3-7 下午6:37:05
*/
public class FileCopyUtil {
/** 字节缓冲数组的大小 */
private static final int BUFFER_SIZE = 4096;
/**
* 将 File in 的内容复制到 File out 中
*
* @param in 源文件
* @param out 目标文件
* @return the number of bytes copied
* @throws IOException 如果 I/O errors
*/
public static int copy(File in, File out) throws IOException {
if ((in == null) || (out == null)) {
throw new IOException("No input File specified or No output File specified");
}
return copy(new BufferedInputStream(new FileInputStream(in)),
new BufferedOutputStream(new FileOutputStream(out)));
}
/**
* @param in 源stream
* @param out 目标stream
* @return the number of bytes copied
* @throws IOException 如果 I/O errors
*/
private static int copy(BufferedInputStream in, BufferedOutputStream out) throws IOException {
if ((in == null) || (out == null)) {
throw new IOException("No InputStream specified or No OutputStream specified");
}
int byteCount = 0;
byte[] buffer = new byte[BUFFER_SIZE];
int bytesRead = -1;
if ((bytesRead = in.read(buffer)) != -1) {
out.write(buffer, 0, bytesRead);
byteCount += bytesRead;
}
out.flush();
return byteCount;
}
public static void main(String[] args) throws IOException {
File in = new File("/home/drew/桌面/test");
File out = new File("/home/drew/桌面/test1");
FileCopyUtil.copy(in, out);
}
}
分享到:
相关推荐
Java中的`File`类是Java I/O流体系中不可或缺的一部分,它是用来操作...结合`FileUtils`这样的辅助工具类,我们可以编写出更简洁、易维护的代码。在实际开发中,还应考虑异常处理和错误恢复策略,以确保程序的健壮性。
本项目是一个用C#实现的简单文件备份工具,旨在提供一种便捷的方式对用户指定的源路径文件进行备份。以下是对该工具的功能、实现原理及C#编程相关知识点的详细解释。 1. 文件备份功能: - 非压缩备份:工具直接...
这个名为"标准字节流拷贝纯文本文件工具类"的代码库可能包含了一些辅助方法,旨在简化使用这些类来复制纯文本文件的过程。在不同的JDK版本中,字节流的拷贝方法可能存在一些差异。 在JDK1.6及其之前的版本中,字节...
在 Delphi 编程环境中,实现文件复制是常见的任务,特别是在开发系统工具、备份功能或者进行数据迁移的应用中。Delphi 提供了多种方法来实现文件的复制,这里我们将深入探讨其中的一些关键知识点。 首先,Delphi ...
以上只是对一些常见Java工具类的概述,实际的"28个Java常用的工具类"压缩包可能包含这些类的实现或其他自定义功能。这些工具类极大地简化了开发过程,提高了代码的可读性和可维护性。在Java开发中,熟练掌握并合理...
Hutool提供了FileUtil工具类,支持文件的创建、删除、复制、移动等基本操作,还包含了文件的读写、查找、遍历等功能。例如,你可以轻松实现文件的复制: ```java FileUtil.copy(new File("源文件路径"), new File(...
以下是一个基础的文件拷贝工具类的实现: ```java import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.nio.channels.FileChannel; ...
接下来,我们将创建一个工具类来实现Sheet的复制功能。以下是一个简单的示例: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io....
在本项目中,我们讨论的是一个使用C#编程语言实现的简单文件备份工具。这个工具的主要功能是为用户提供一种便捷的方式,将指定源路径下的文件复制到目标路径,以实现文件备份。它提供了两种备份模式:非压缩和压缩,...
2. **`java.util.Collections`**:它是针对集合框架的工具类,提供了对List、Set、Map等各种集合的操作,如排序(`sort()`)、填充(`fill()`)和集合转换(`copy()`)等。 3. **`java.lang.Math`**:提供了各种...
在本文中,我们将深入探讨如何使用Qt框架在C++中实现多线程文件拷贝功能。Qt是一个跨平台的应用程序开发框架,它提供了丰富的API...总的来说,Qt提供的强大工具使得在C++中实现高效、稳定的文件拷贝功能变得非常便捷。
"文件复制(大文件快速复制工具)"这个主题聚焦于提高大文件复制的速度和效率,而FastCopy工具就是这样一个专为此目的设计的应用程序。下面将详细阐述大文件复制的挑战、FastCopy的特点以及如何使用它来提升复制性能...
本项目是一个基于QT框架实现的简易文件管理器,它可以运行在Linux和Windows操作系统上,提供了基本的文件和文件夹操作功能,如创建、删除、复制和粘贴。 **QT框架详解** QT是一个流行的开源C++图形用户界面应用...
通过集成FTP功能到WinForm应用,我们可以构建一个简易的文件管理工具。 首先,我们需要引入必要的库来处理FTP操作。在C#中,最常用的是`System.Net.FtpClient`或第三方库如`FluentFTP`。对于本示例,我们假设使用的...
总的来说,批量拷贝工具(BatchCopy)是提高工作效率的有效工具,通过Delphi编程我们可以实现一个功能完备、易用性强的文件批量拷贝程序。掌握批量拷贝的原理和实现方式,对于IT从业者来说,不仅能提升工作效率,还能...
AutoCopy2U自动批量USB存储设备拷贝/备份工具软件是一款批量全自动的USB存储设备拷贝/备份工具,可以实现将电脑中或者其他存储设备中的 指定的文件数据,全自动原样的拷贝/备份到新插入的USB移动存储设备中。...
特别地,它对于XML文件的复制有良好的兼容性,XML文件由于其结构复杂,有时在复制过程中容易出现问题,但FastCopy能够有效避免这类问题。 标签“FastCopy”明确了我们要讨论的是这个软件本身。FastCopy以其高效和...
FastCopy V2.08作为一款高效、便捷的文件拷贝工具,因其卓越的性能和易用性,受到了广大用户的喜爱。本文将深入探讨FastCopy的功能特性、操作流程以及它在实际应用中的优势。 FastCopy,顾名思义,其核心功能就是...
本主题聚焦于一个名为"CopyFileUtility"的源码,这是一个专门用于提高文件复制效率的工具类。源码的提供有助于我们深入理解高效的文件拷贝算法,以及如何在Java编程语言中实现这样的功能。 首先,我们要明白文件...
总之,`C# CopyDirectory`是C#编程中进行文件夹拷贝的重要工具,结合其他文件操作方法,可以实现丰富的文件管理功能。对于初学者而言,掌握这些基本操作是学习C#开发过程中不可或缺的部分。通过实践和理解这些方法的...