package com.utils;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
public class CommonFile {
/**
* struts 上传多个文件方法
*
* @param path
* 文件路径
* @param form
* struts 的ActionForm
* @return 返回上传了的文件的信息列表,String[0]为原文件名,String[1]为上传后的文件路径和名称,String[2]为文件大小
* @throws AppConfigException
*/
@SuppressWarnings("unchecked")
public static List strutsUploadFiles(File[] file, String[] fileName,HttpServletRequest request, String path) {
List list = new ArrayList();
String dirPath = AppConfig.getProperty(path);
//System.out.println("dripath:"+dirPath);
File fpath = new File(dirPath);
if (!fpath.exists()) { // 如果目录不存在,则创建
fpath.mkdir();
}
try {
for (int i = 0; i < file.length; i++) {
BufferedInputStream in = new BufferedInputStream(new FileInputStream(file[i]));
int s = (int) (Math.random() * 100);
String datestr = new SimpleDateFormat("yyyyMMddHHmm").format(new Date());// 日期
//System.out.println("fileName[i]==="+fileName[i]);
String filename = datestr + s + fileName[i].substring(fileName[i].lastIndexOf("."));//新的文件名
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(dirPath+ "/" +filename, true));
byte[] buffer = new byte[10240];
int b = 0;
long size = 0;
while ((b = in.read(buffer)) != -1) {
out.write(buffer, 0, b);
size += b;
}
out.flush();
in.close();
out.close();
String[] returnStr = new String[5];
returnStr[0] = fileName[i];
returnStr[1] = path + "/" + filename;
returnStr[2] = BaseUtil.parseFileSize(String.valueOf(size));
returnStr[3] = filename;
returnStr[4] = fileName[i].substring(0,fileName[i].length()-fileName[i].substring(fileName[i].lastIndexOf(".")).length());
list.add(returnStr);
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
/**
* @param 文件路径
* @param request
*/
public static void delFile(String path, HttpServletRequest request) {
//String dirPath = request.getRealPath("/file/"+path) ;
String dirPath =request.getSession().getServletContext().getRealPath("/") + path;
System.out.println(dirPath);
try {
File file = new File(dirPath);
if(file.exists()){
file.delete();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
public class CommonFile {
/**
* struts 上传多个文件方法
*
* @param path
* 文件路径
* @param form
* struts 的ActionForm
* @return 返回上传了的文件的信息列表,String[0]为原文件名,String[1]为上传后的文件路径和名称,String[2]为文件大小
* @throws AppConfigException
*/
@SuppressWarnings("unchecked")
public static List strutsUploadFiles(File[] file, String[] fileName,HttpServletRequest request, String path) {
List list = new ArrayList();
String dirPath = AppConfig.getProperty(path);
//System.out.println("dripath:"+dirPath);
File fpath = new File(dirPath);
if (!fpath.exists()) { // 如果目录不存在,则创建
fpath.mkdir();
}
try {
for (int i = 0; i < file.length; i++) {
BufferedInputStream in = new BufferedInputStream(new FileInputStream(file[i]));
int s = (int) (Math.random() * 100);
String datestr = new SimpleDateFormat("yyyyMMddHHmm").format(new Date());// 日期
//System.out.println("fileName[i]==="+fileName[i]);
String filename = datestr + s + fileName[i].substring(fileName[i].lastIndexOf("."));//新的文件名
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(dirPath+ "/" +filename, true));
byte[] buffer = new byte[10240];
int b = 0;
long size = 0;
while ((b = in.read(buffer)) != -1) {
out.write(buffer, 0, b);
size += b;
}
out.flush();
in.close();
out.close();
String[] returnStr = new String[5];
returnStr[0] = fileName[i];
returnStr[1] = path + "/" + filename;
returnStr[2] = BaseUtil.parseFileSize(String.valueOf(size));
returnStr[3] = filename;
returnStr[4] = fileName[i].substring(0,fileName[i].length()-fileName[i].substring(fileName[i].lastIndexOf(".")).length());
list.add(returnStr);
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
/**
* @param 文件路径
* @param request
*/
public static void delFile(String path, HttpServletRequest request) {
//String dirPath = request.getRealPath("/file/"+path) ;
String dirPath =request.getSession().getServletContext().getRealPath("/") + path;
System.out.println(dirPath);
try {
File file = new File(dirPath);
if(file.exists()){
file.delete();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}