package book.io;
import java.io.File;
/**
*
* @author XWZ
* 2007-11-27
* 删除文件或目录
*/
public class DeleteFileUtil {
/**
* 删除文件,可以是单个文件或文件夹
* @param fileName 待删除的文件名
* @return 文件删除成功返回true,否则返回false
*/
public static boolean delete(String fileName){
File file = new File(fileName);
if(!file.exists()){
System.out.println("删除文件失败:"+fileName+"文件不存在");
return false;
}else{
if(file.isFile()){
return deleteFile(fileName);
}else{
return deleteDirectory(fileName);
}
}
}
/**
* 删除单个文件
* @param fileName 被删除文件的文件名
* @return 单个文件删除成功返回true,否则返回false
*/
public static boolean deleteFile(String fileName){
File file = new File(fileName);
if(file.isFile() && file.exists()){
file.delete();
System.out.println("删除单个文件"+fileName+"成功!");
return true;
}else{
System.out.println("删除单个文件"+fileName+"失败!");
return false;
}
}
/**
* 删除目录(文件夹)以及目录下的文件
* @param dir 被删除目录的文件路径
* @return 目录删除成功返回true,否则返回false
*/
public static boolean deleteDirectory(String dir){
//如果dir不以文件分隔符结尾,自动添加文件分隔符
if(!dir.endsWith(File.separator)){
dir = dir+File.separator;
}
File dirFile = new File(dir);
//如果dir对应的文件不存在,或者不是一个目录,则退出
if(!dirFile.exists() || !dirFile.isDirectory()){
System.out.println("删除目录失败"+dir+"目录不存在!");
return false;
}
boolean flag = true;
//删除文件夹下的所有文件(包括子目录)
File[] files = dirFile.listFiles();
for(int i=0;i
//删除子文件
if(files[i].isFile()){
flag = deleteFile(files[i].getAbsolutePath());
if(!flag){
break;
}
}
//删除子目录
else{
flag = deleteDirectory(files[i].getAbsolutePath());
if(!flag){
break;
}
}
}
if(!flag){
System.out.println("删除目录失败");
return false;
}
//删除当前目录
if(dirFile.delete()){
System.out.println("删除目录"+dir+"成功!");
return true;
}else{
System.out.println("删除目录"+dir+"失败!");
return false;
}
}
public static void main(String[] args) {
//String fileName = "g:/temp/xwz.txt";
//DeleteFileUtil.deleteFile(fileName);
String fileDir = "G:/temp/temp0/temp1";
//DeleteFileUtil.deleteDirectory(fileDir);
DeleteFileUtil.delete(fileDir);
}
}
package com.itcast.util;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.upload.FormFile;
public class SaveUploadFile {
/**
*
* @param formFile 上传的文件
* @param request
* @param productTypeName 类别名称
* @param productName 产品名称
* @param savefileName 保存的文件名
* @param ext 上传文件的扩展名
* @throws Exception
*/
public static void saveProductPic(FormFile formFile,
HttpServletRequest request, Integer productTypeId,
Integer productID, String savefileName, String ext)
throws Exception {
if (formFile != null && formFile.getFileSize() > 0) {
// 1:保存原大小尺寸的图片
String pathdir = "/image/product/" + productTypeId + "/"
+ productID + "/prototype";// 构建图片保存的目录
// 得到图片保存目录的真实路径
String realpathdir = request.getSession().getServletContext()
.getRealPath(pathdir);
// 创建文件目录
File savedir = new File(realpathdir);
// 如果目录不存在就创建
if (!savedir.exists()) {
savedir.mkdirs();
}
File imageFile = new File(savedir, savefileName);
FileOutputStream fops = new FileOutputStream(imageFile);
// 将上传的文件信息保存到相应的文件目录里
fops.write(formFile.getFileData());
fops.close();
// 2:保存原压缩尺寸的图片
String path140 = "/image/product/" + productTypeId + "/"
+ productID + "/140x";// 构建图片保存的目录
// 得到图片保存目录的真实路径
String realpath140 = request.getSession().getServletContext()
.getRealPath(path140);
// 创建文件目录
File savedir140 = new File(realpath140);
// 如果目录不存在就创建
if (!savedir140.exists()) {
savedir140.mkdirs();
}
File imageFile140 = new File(savedir140, savefileName);
ImageSizer.resize(imageFile, imageFile140, 140, ext);
}
}
/**
*
* @param formFile 上传的品牌图片文件
* @param request
* @param saveName 保存的文件的名字
* @param ext 保存的文件的扩展名
* @return
* @throws FileNotFoundException
* @throws IOException
*/
public static String saveBrandPic(FormFile formFile, HttpServletRequest request,
String saveName, String ext) throws FileNotFoundException,
IOException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd/HH");
String savepath = "/image/brand/" + sdf.format(new Date());//构建图片保存的目录
//得到图片保存目录的真实路径
String realsavepath = request.getSession().getServletContext()
.getRealPath(savepath);
//创建文件目录
File logosavedir = new File(realsavepath);
//如果目录不存在就创建
if (!logosavedir.exists()) {
logosavedir.mkdirs();
}
FileOutputStream fops = new FileOutputStream(new File(realsavepath,
saveName));
fops.write(formFile.getFileData());
fops.close();
return savepath;
}
}