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

Java文件操作

阅读更多
[align=left]写了个Java操作文件的简单例子,希望给需要帮助的兄弟提供点儿帮助,同时也希望大家给予批评指正。
文件操作类,代码如下:
package org.coolyongzi;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;



public class FileTools {
	private static final String SPECIAL_FILE_STYLE_PICTURECACHE = "Thumbs.db";
	public static final Logger logger = LogManager.getLogger(FileTools.class);
	
	public FileTools()
	{
		
	}
	/*
	 * @discription:Delete a folder
	 * @param:dirPath String
	 * @return boolean
	 */
	public static boolean deleteDirectory(String dirPath,boolean deteDirRoot)
	{
		File parentFile = new File(dirPath);
		File[] chirenFile = null;
		if(parentFile.exists() && parentFile.isDirectory())
		{
				chirenFile = parentFile.listFiles();
				for (int i = 0; i < chirenFile.length; i++) {
					if(!chirenFile[i].isDirectory())
					{
						chirenFile[i].delete();
					}
					else
					{
						deleteDirectory(chirenFile[i].getAbsolutePath(),true);					
						chirenFile[i].delete();
					}
				}
				if(deteDirRoot)
				{
					parentFile.delete();
				}
				
				return true;		
		}
		else
		{
			FileTools.logger.error("The Floder Is Not Exist!");
			return false;
		}
	}
	
	/*
	 * @discription:Copy Folder
	 * @param:sourceFilePath String,targetFilePath String
	 * @return boolean
	 */
	public static boolean copyDirectory(String sourceFilePath,String targetFilePath) throws IOException
	{
		File sourceFile = new File(sourceFilePath);
		File targetFile = new File(targetFilePath);
		
		if(!targetFile.exists())
		{
			targetFile.mkdir();
		}
		
		File[] sourceChirenFile = null;
		FileInputStream fileInputStream = null;
		FileOutputStream fileOutputStream = null;
		FileTools.logger.debug("Copy "+sourceFile.getName()+" Floder Start......");
		if(sourceFile.exists() && sourceFile.isDirectory())
		{
			sourceChirenFile = sourceFile.listFiles();
			for (int i = 0; i < sourceChirenFile.length; i++) {
				File tempFile = null;
				
				if(!sourceFilePath.endsWith(File.separator))
				{
					tempFile = new File(targetFilePath+File.separator+sourceChirenFile[i].getName());
				}
				else
				{
					tempFile = new File(targetFilePath+sourceChirenFile[i].getName());
				}
				if(!FileTools.SPECIAL_FILE_STYLE_PICTURECACHE.equalsIgnoreCase(sourceChirenFile[i].getName()))
				{
					if(!sourceChirenFile[i].isDirectory())
					{
						fileInputStream = new FileInputStream(sourceChirenFile[i]);
						fileOutputStream = new FileOutputStream(tempFile);
						byte[] b = new byte[1024];
						FileTools.logger.debug("Copy "+sourceChirenFile[i].getName()+" File Start......");
					    while(fileInputStream.read(b)!=-1)
					    {
					    	fileOutputStream.write(b);
					    }
					    FileTools.logger.debug("Copy "+sourceChirenFile[i].getName()+"  File End!");
					    fileInputStream.close();
					    fileOutputStream.close();	
					}
					else
					{
						copyDirectory(sourceFilePath+File.separator+sourceChirenFile[i].getName(),
								      targetFilePath+File.separator+sourceChirenFile[i].getName());
					}
				}
				
			}
			FileTools.logger.debug("Copy "+sourceFile.getName()+" Floder End!");
			return true;
		}
		else
		{
			FileTools.logger.error("The Floder Is Not Exist!");
			return false;
		}
	}
}

Junit测试类
package org.coolyongzi.testcase;

import java.io.IOException;

import org.coolyongzi.FileTools;

import junit.framework.TestCase;

public class FileToolsTest extends TestCase {

	protected void setUp() throws Exception {
		super.setUp();
	}

	protected void tearDown() throws Exception {
		super.tearDown();
	}

	public void testDeleteDirectory() 
	{
		FileTools.deleteDirectory("F:/复件 图片",false);
	}
	
	public void testCopyDirectory()
	{
		try {
			FileTools.copyDirectory("F:/Game","F:/Game1");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}
分享到:
评论

相关推荐

    java文件操作类

    java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java...

    Java文件操作封装类

    Java文件操作封装类

    java文件操作工具类

    java文件操作工具类是java中针对文件操作的一个工具类,可以方便的读取,下载,上传文件等操作,希望可以帮到大家。

    java文件操作

    java 文件操作,创建文件,创建目录,删除文件目录

    java视频教程—Java文件操作

    java视频教程 Java文件操作 JavaFile

    java文件操作大全

    如何在Java中操作文件呢?转载供大家欣赏

    java文件操作(增删改查)

    本项目"java文件操作(增删改查)"是基于控制台实现的一个无界面程序,利用Eclipse集成开发环境编写,实现了基本的文件管理功能。下面我们将深入探讨这些知识点。 首先,我们要了解Java中的`java.io`包,它是处理输入...

    Java文件操作一例:Copy 复制文件.rar

    Java文件操作一例:Copy 复制文件,虽然是复制文件,不过通过本源码你可以学习很多相关的Java基础技巧,比如Java对文件的事件处理、取得目录内容的事件处理、如何弹出文件选择器、如何得到选择文件的绝对路径、如何...

    java文件操作大全.chm

    java文件操作大全.chm

    java 文件操作工具

    java 文件操作 压缩文件 解压文件 复制文件 复制文件夹

    java 文件操作工具类

    java 文件操作工具类

    java 文件操作大全107种情况

    java 文件操作 包括 文件删除 导出jsp Word 格式文件 ,文件合并修改等。

    《Java文件操作大全》电子书

    《Java文件操作大全》电子书 本文汇集常用文件操作方法,包括文件的建立/检查与删除,目录的建立/检查与删除,取出目录中文件,文件属性的取得,逐行读取数据等等。

    Java文件操作大全

    最全的java文件操作大全,包括文件的存储,建立,判断文件是否存在,建立文件删除文件,附加源码!!!

    Java文件操作方法总结

    Java文件操作中的一些常用方法的总结,可以参考参考啦!

    java文件操作.xmind

    里面包含了File类的作用、IO流、字节流字符流、异常处理、缓冲流、转换流、序列化、打印流的详细讲解

    Java文件操作大全[汇编].pdf

    Java文件操作大全[汇编].pdf

    Java文件操作类

    pan.razerpen.file中提供一个多对象单文件存储类FileMap和一个单对象单文件存储类FilePage。 提供方便快捷的基本类型和对象的文件存取方式。详细用法见sample.razerpen.file

Global site tag (gtag.js) - Google Analytics