[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...
io java 文件操作 命令 全部 io java 文件操作 命令 全部 io java 文件操作 命令 全部 io java 文件操作 命令 全部
Java文件操作大全
java文件操作总结 详细介绍 java对文件的操作 每个都有对应的例子
java文件操作大全。。。。。。。。。。。。。
Java 文件操作大全···················································
Java文件操作封装类
非常全的java文件操作说明、示例,欢迎下载共同学习
java文件操作相关的类和基本用法,都是一些基本的用法,但很重要
java文件操作工具类是java中针对文件操作的一个工具类,可以方便的读取,下载,上传文件等操作,希望可以帮到大家。
Java文件操作大全(绝对的经典,值得收藏!) Java文件操作大全(绝对的经典,值得收藏!) Java文件操作大全(绝对的经典,值得收藏!)
java视频教程 Java文件操作 JavaFile
一些较为全面的java的文件操作的代码,在学习中有极大地帮助!!
java 文件操作类 20多个实用方法,操作文件的好帮手。 JAVA自定义Util大放送-集成j2ee精英团队十年编程之精华
Java文件操作Java文件操作