`
远东之夜
  • 浏览: 7441 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

文件的拷贝Util

阅读更多
package com.tianmushanlu.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;

import org.apache.commons.io.FileUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
 * 文件的拷贝Util
 * 
 * 
 *
 */
public class FileUtility extends FileUtils {
	protected static final Log log = LogFactory.getLog(FileUtility.class);

	/**
	 * 将源文件拷贝至指定目录并重新命名
	 * @param srcFile
	 * @param destDir
	 * @param newFileName
	 * @return
	 */
	public static long copyFile(File srcFile, File destDir, String newFileName) {
		long copySizes = 0;
		if (!srcFile.exists())//如果源文件不存在
		{
			copySizes = -1;
			log.error("源文件:" + "[->]" + srcFile.getName() + "不存在");
		}
		else if (!destDir.exists())//如果目标目录不存在
		{
			log.error("目标目录:" + "[->]" + destDir.getName() + "不存在");
			try {
				log.error("目标目录:" + "[->]" + destDir.getName() + "创建中......");
				destDir.createNewFile();
				log.error("目标目录:" + "[->]" + destDir.getName() + "创建成功!");
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				copySizes = -1;
				log.error("目标目录:" + "[->]" + destDir.getName() + "创建失败!" + e.getMessage());
			}
		}
		else if (newFileName == null)//如果源文件为空 
		{
			copySizes = -1;
			log.error("新文件名为:" + "[->]" + newFileName);
		}
		else 
		{
			try 
			{
				//使用nio的形式进行文件的拷贝
				FileChannel fcin = new FileInputStream(srcFile).getChannel();
				FileChannel fcout = new FileOutputStream(new File(destDir, newFileName)).getChannel();
				long size = fcin.size();
				fcin.transferTo(0, fcin.size(), fcout);
				fcin.close();
				fcout.close();
				copySizes = size;
			} catch (FileNotFoundException e) {
				e.printStackTrace();
				copySizes = -1;
				log.error("文件没有找到:" + "[->]" + e.getMessage());
			} catch (IOException e) {
				e.printStackTrace();
				copySizes = -1;
				log.error("IO异常:" + "[->]" + e.getMessage());
			}
		}
		return copySizes;
	}
}
分享到:
评论

相关推荐

    FileUploadUtil.java(文件上传工具类)

    文件上传工具类,上传文件,上传导入文件到path文件夹下,判断图片大小是否...将存放在sourceFilePath目录下的源文件,打包成fileName名称的zip文件,并存放到zipFilePath路径下 ,拷贝指定文件到另一文件中,保存图片

    java文件上传例子

    3、将Source下的DateUtils类拷贝到新建的包smart.jrsoft.util里面。 5、将Enviroument里面的ahxu-commons-fileuploadex-beta2.jar、commons-fileupload.jar拷贝到WebRoot-->Web-Info-->lib里面。 6、将Jsp包中的四个...

    Linux tomcat下catalina.out日志文件分割

    Linux tomcat下catalina.out日志文件分割 前言: tomcat默认使用Java.util.logging记录日志,默认只记录tomcat的日志,不记录应用的日志。tomcat支持采用log4j进行日志记录,配置方法如下: 1.更新最新的tomcat_juli...

    Android-5.1.1_r1源码-系统签名文件(包含platform.pk8、platform.x509.pem和signapk)

    其中platform.pk8和platform.x509.pem是在“build/target/product/security”中拷贝出来的,signapk是在“build/tools/signapk”中拷贝出来的。由于源码文件数量庞大,大小也几G,为方便大家使用测试系统签名,故放...

    jffs2文件系统(完整)

    重新编译内核并拷贝到/tftpboot下。 (2)zlib的编译。 解压zlib-1.2.3.tar.bz2并进入zlib-1.2.3配置编译安装。 $ tar xvf zlib-1.2.3.tar.bz2 $ cd zlib-1.2.3 $ ./configure $ make $ sudo make install (3)...

    hadoop.dll

    3:使用,将上面两个文件,拷贝到E:\hadoop\hadoop-2.6.4\bin,自己的hadoop的bin里面,然后在将hadoop.dll拷贝到C:\Windows\System32 4:我的win10,hadoop-2.6.4亲测好使,特此帮助更多的人。 5:下载以后将两个...

    log4j.properties

    如果eclipse打印不出日志,在控制台上只显示 1.log4j:WARNNoappenderscouldbefoundforlogger(org.apache.hadoop.util.Shell). 2.log4j:WARNPleaseinitializethelog4jsystemproperly. ...就本文件拷贝到src目录下即可。

    在Linux运行期间升级Linux系统(Uboot+kernel+Rootfs) v1.0

    2.1.2. Linux中已实现了U盘挂载,以方便拷贝要升级的文件 8 2.1.3. Linux中Nor Flash和Nand Flash已能正常工作 8 2.1.4. 已经准备好了mtd工具 8 2.1.4.1. mtd-util简介 8 2.1.4.2. mtd中的/dev/mtdN与/dev/mtdblockN...

    pjproject-2.1.0文件和移植步骤

    6.编译完成后,运行make install会把库文件和头文件拷贝到刚才创建的openwrtlib文件中。 7.在你需要引用工程中的makefile中添加引用编译出来的库: Libs: -L${libdir} -lpjsua-mipsel-openwrt-linux-gnu -lpjsip-ua-...

    java实用组件集 源码 图片压缩组件

    3、将source文件夹下的ImageUtil类拷贝到新建的包smart.css.util里面。 4、将JSP文件夹里面的jsp页面拷贝到工程的WebRoot下面。 5、将Enviroument里面的jmagick.jar拷贝到WebRoot-->Web-Info-->lib里面。 6、将...

    Java实现的执行python脚本工具类示例【使用jython.jar】

    本文实例讲述了Java实现的执行python脚本工具类。分享给大家供大家参考,具体如下: ...import java.util.ArrayList; import java.util.List; import java.util.Map; import org.python.core.PyObj

    hadoop-2.6.0-hadoop.dll-winutils.exe

    windows上eclipse运行hadoop程序报NullPointerException错 log4j:WARN No appenders could be found for logger (org.apache....3,创建环境变量HADOOP_HOME,然后把winutils.exe文件拷贝到${HADOOP_HOME}/bin目录下

    office在线查看

    改工具既可以安装使用实现文件转换,也拷贝安装后Program Files下的Swftools文件夹放到工程中,以绿色软件方式来使用。转换命令将在FileConverterUtil.java中特别指明。 第四步:使用Flexpaper。Flexpaper就是一个...

    JAVA上百实例源码以及开源项目

     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...

    java源码包---java 源码 大量 实例

     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...

    Android实现自定义日历

    注:将下面的四张资源图片拷贝到所建包的下一个.../****************从此出开始将代码拷贝到一个文件中*******************/ package cc.util.android.view; import java.text.ParseException; import java.text.Simple

    asp.net mvc 2.0 for .net 4 标准项目框架

    /App_Data下的QQWry.Dat文件是IP纯真数据库,判断IP地址用,不需要可以删除 Util项目为常用工具包,不需要可删除 调试和发布需要手动拷贝SQLServerDAL项目(OracleDAL项目和MySqlDAL项目)下的DLL到Web项目下的Bin...

    java源码包2

     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...

    java源码包3

     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...

    web 项目中的各种工具类

    BeanUtil 拷贝一个bean中的非空属性于另一个bean中 CopyOfJExcelUtils excel 工具类 DateUtil 时间工具类 FileUtils 文件工具类 JExcelUtils excel 工具类2 JsonUtil json 工具类 MyBeanUtils 实体bean 工具 ...

Global site tag (gtag.js) - Google Analytics