您的位置:首页 > 编程语言 > Java开发

Java 文件操作

2014-07-19 09:54 295 查看
package com.lakala.util;

import org.apache.log4j.Logger;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.FilenameFilter;

* Created with IntelliJ IDEA.

* To change this template use File | Settings | File Templates.

public class FileUtil {

public static final Logger LOGGER = Logger.getLogger(FileUtil.class);

private static final String FILE_SUFFIX = ".java.drl";

private static final String FILE_TEMP = "C:/temp/";

* 将已存在的drl文件删除

* @param objectPath

public static void deleteExistedDRLFile(String objectPath) {

File filePath = new File(objectPath);

if (!filePath.exists()) {

LOGGER.info("目录不存在!");

} else {

if (filePath.isDirectory()) {

File[] list = filePath.listFiles(new FilenameFilter() {

public boolean accept(File dir, String name) {

return name.endsWith(FILE_SUFFIX);

for (int i = 0; i < list.length; i++) {

list[i].delete();jquery插件
http://www.huiyi8.com/chajian/
* 创建文件夹,如果有则不创建

* @param objectPath

* @return

public static boolean creareDirectory(String objectPath) {

File filePath = new File(objectPath);

if (!filePath.exists()) {

filePath.mkdir();

flag = false;

return flag;

* 查看某文件夹下面是否有文件,有文件则创建一个temp文件夹,将文件拷贝到temp目录下(备份文件)

* 没有文件则什么都不做

* 备份后,把原文件夹里文件删除

* @param objectPath

* @param dirName

public static void backupFile(String objectPath, String dirName) {

String backupPath;

if (!FILE_TEMP.endsWith(File.separator)) {

backupPath = FILE_TEMP + File.separator + dirName;

} else {

backupPath = FILE_TEMP + dirName;

File backupFilePath = new File(backupPath);

if (!backupFilePath.exists()) {

backupFilePath.mkdirs();

File filePath = new File(objectPath);

if (!filePath.exists()) {

LOGGER.info("目录不存在!");

} else {

if (filePath.isDirectory()) {

File[] list = filePath.listFiles();

if (list != null && list.length != 0) {

copyFolder(objectPath, backupPath);// 文件备份

for (int i = 0; i < list.length; i++) {

list[i].delete();

* 复原文件,把文件从备份文件夹拷贝到原来文件夹

* @param objectPath

* @param dirName

public static void recoverFile(String objectPath, String dirName) {

String backupPath;

if (objectPath.endsWith(File.separator)) {

objectPath = new StringBuffer(objectPath).append(dirName)

.toString();

} else {

objectPath = new StringBuffer(objectPath)

.append(File.separatorChar).append(dirName).toString();

if (!FILE_TEMP.endsWith(File.separator)) {

backupPath = FILE_TEMP + File.separator + dirName;

} else {

backupPath = FILE_TEMP + dirName;

File backupFilePath = new File(backupPath);

if (!backupFilePath.exists()) {

backupFilePath.mkdirs();

File filePath = new File(objectPath);

if (!filePath.exists()) {

LOGGER.info("目录不存在!");

} else {

if (filePath.isDirectory()) {

File[] list = filePath.listFiles();

if (list != null && list.length != 0) {

copyFolder(backupPath, objectPath);// 文件复原

* 复制整个文件夹内容

* @param oldPath String 原文件路径 如:c:/fqf

* @param newPath String 复制后路径 如:f:/fqf/ff

public static void copyFolder(String oldPath, String newPath) {

try {

(new File(newPath)).mkdir(); // 如果文件夹不存在 则建立新文件夹

File a = new File(oldPath);

String[] file = a.list();

File temp;

for (int i = 0; i < file.length; i++) {

if (oldPath.endsWith(File.separator)) {

temp = new File(oldPath + file[i]);

} else {

temp = new File(oldPath + File.separator + file[i]);

if (temp.isFile()) {

FileInputStream input = new FileInputStream(temp);

FileOutputStream output = new FileOutputStream(newPath

+ "/" + temp.getName().toString());

byte[] b = new byte[1024 * 5];

int len;

while ((len = input.read(b)) != -1) {

output.write(b, 0, len);

}

output.flush();

output.close();

input.close();

if (temp.isDirectory()) {// 如果是子文件夹

copyFolder(oldPath + "/" + file[i], newPath + "/" + file[i]);

} catch (Exception e) {

LOGGER.info("复制整个文件夹内容操作出错", e);

* 删除备份文件和存放备份文件的文件夹

* @param dirName

public static void deleteFileAndDirectory(String dirName) {

String ObjectPath;

if (!FILE_TEMP.endsWith(File.separator)) {

ObjectPath = FILE_TEMP + File.separator + dirName;

} else {

ObjectPath = FILE_TEMP + dirName;

File filePath = new File(ObjectPath);

if (!filePath.exists()) {

filePath.mkdirs();

LOGGER.info("目录不存在!");

} else {

if (filePath.isDirectory()) {

File[] list = filePath.listFiles();

for (int i = 0; i < list.length; i++) {

list[i].delete();

filePath.delete();

* 判断某文件夹下是否存在文件,存在返回true

* @param objectPath

* @return

public static boolean existFileInDirectory(String objectPath) {

boolean flag = false;

File filePath = new File(objectPath);

if (filePath.exists()) {

if (filePath.isDirectory()) {

File[] list = filePath.listFiles();

if (list != null && list.length != 0) {

flag = true;

return flag

* 删除某个文件夹

* @param objectPath

public static void deleteDirectory(String objectPath) {

File filePath = new File(objectPath);

if (filePath.exists()) {

filePath.delete();

* 将已存在的文件删除

* @param objectPath

* @param fileName

* @return

public static boolean deleteExistedFile(String objectPath, final String fileName) {

boolean flag = false;

File filePath = new File(objectPath);

if (filePath.exists()) {

if (filePath.isDirectory()) {

File[] list = filePath.listFiles(new FilenameFilter() {

public boolean accept(File dir, String name) {

return name.equals(fileName);

for (int i = 0; i < list.length; i++) {

list[i].delete();

flag = true;

return flag;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: