package util;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FilenameFilter;
public
class
FileUtil {
private
final
static
String FILE_SUFFIX =
".java.drl"
;
private
final
static
String FILE_TEMP =
"C:/temp/"
;
public
static
void deleteExistedDRLFile(String ObjectPath) {
File filePath =
new
File(ObjectPath);
if
(!filePath.exists()) {
System.out.println(
"目录不存在!"
);
}
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
();
}
}
}
}
public
static
boolean creareDirectory(String ObjectPath) {
boolean flag = true;
File filePath =
new
File(ObjectPath);
if
(!filePath.exists()) {
filePath.
mkdir
();
flag = false;
}
return
flag;
}
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()) {
System.out.println(
"目录不存在!"
);
}
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
();
}
}
}
}
}
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()) {
System.out.println(
"目录不存在!"
);
}
else
{
if
(filePath.isDirectory()) {
File[] list = filePath.listFiles();
if
(list != null && list.length != 0) {
copyFolder(backupPath, ObjectPath);
}
}
}
}
public
static
void copyFolder(String oldPath, String newPath) {
try
{
(
new
File(newPath)).
mkdir
();
File a =
new
File(oldPath);
String[] file = a.list();
File temp = null;
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) {
System.out.println(
"复制整个文件夹内容操作出错"
);
e.printStackTrace();
}
}
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();
System.out.println(
"目录不存在!"
);
}
else
{
if
(filePath.isDirectory()) {
File[] list = filePath.listFiles();
for
(int i = 0; i < list.length; i++) {
list[i].
delete
();
}
}
filePath.
delete
();
}
}
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;
}
public
static
void deleteDirectory(String ObjectPath) {
File filePath =
new
File(ObjectPath);
if
(filePath.exists()) {
filePath.
delete
();
}
}
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;
}
}