[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文件操作 JavaFile
如何在Java中操作文件呢?转载供大家欣赏
本项目"java文件操作(增删改查)"是基于控制台实现的一个无界面程序,利用Eclipse集成开发环境编写,实现了基本的文件管理功能。下面我们将深入探讨这些知识点。 首先,我们要了解Java中的`java.io`包,它是处理输入...
Java文件操作一例:Copy 复制文件,虽然是复制文件,不过通过本源码你可以学习很多相关的Java基础技巧,比如Java对文件的事件处理、取得目录内容的事件处理、如何弹出文件选择器、如何得到选择文件的绝对路径、如何...
java文件操作大全.chm
java 文件操作 压缩文件 解压文件 复制文件 复制文件夹
java 文件操作工具类
java 文件操作 包括 文件删除 导出jsp Word 格式文件 ,文件合并修改等。
《Java文件操作大全》电子书 本文汇集常用文件操作方法,包括文件的建立/检查与删除,目录的建立/检查与删除,取出目录中文件,文件属性的取得,逐行读取数据等等。
最全的java文件操作大全,包括文件的存储,建立,判断文件是否存在,建立文件删除文件,附加源码!!!
Java文件操作中的一些常用方法的总结,可以参考参考啦!
里面包含了File类的作用、IO流、字节流字符流、异常处理、缓冲流、转换流、序列化、打印流的详细讲解
Java文件操作大全[汇编].pdf
pan.razerpen.file中提供一个多对象单文件存储类FileMap和一个单对象单文件存储类FilePage。 提供方便快捷的基本类型和对象的文件存取方式。详细用法见sample.razerpen.file