Java-UploadHelper工具类
来源:互联网 发布:qualifier java 编辑:程序博客网 时间:2024/06/06 22:35
/** * 上传文件类 */import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileWriter;import java.io.FilenameFilter;import java.io.PrintWriter;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;public class UploadHelper { public final static String separator = "/"; public final static String split = "_"; protected final Log log = LogFactory.getLog(getClass()); class FilenameFilterImpl implements FilenameFilter { private String filter = "."; public FilenameFilterImpl(String aFilter) { filter = aFilter; } public boolean accept(File dir, String name) { return name.startsWith(filter); } }; /** * 获得当前的文件路径(通过当前日期生成) * @param basePath * @return */ public static String getNowFilePath(String basePath){ SimpleDateFormat formater =new SimpleDateFormat("yyyy-MM-dd"); String pathName = formater.format(new Date()); File dir = new File(basePath + separator + pathName); if(!dir.exists()) dir.mkdir(); return pathName; } public static String getNewFileName(String oldFileName){ oldFileName = oldFileName.replaceAll("'", "").replaceAll("\"", ""); Calendar date = Calendar.getInstance(); int hour = date.get(Calendar.HOUR_OF_DAY); int minute = date.get(Calendar.MINUTE); int second = date.get(Calendar.SECOND); if(oldFileName.length()>30) oldFileName = oldFileName.substring(oldFileName.length()-30); return (new Integer(hour*3600 + minute*60 + second).toString()) + split + oldFileName; } public static String getThumbFileName(String fileName){ int pos = fileName.lastIndexOf("."); if(pos>=0) return fileName.substring(0, pos) + "s" + fileName.substring(pos); else return fileName + "s"; } /** * This method checks if the given file exists on disk. If it does it's ignored because * that means that the file is allready cached on the server. If not we dump * the text on it. */ public void dumpAttributeToFile(String attributeValue, String fileName, String filePath) throws Exception { File outputFile = new File(filePath + separator + fileName); PrintWriter pw = new PrintWriter(new FileWriter(outputFile)); pw.println(attributeValue); pw.close(); } /** * 保存文件 * This method checks if the given file exists on disk. If it does it's ignored because * that means that the file is allready cached on the server. If not we take out the stream from the * digitalAsset-object and dumps it. */ public void dumpAsset(File file, String fileName, String filePath) throws Exception { long timer = System.currentTimeMillis(); File outputFile = new File(filePath + separator + fileName); if(outputFile.exists()) { log.info("The file allready exists so we don't need to dump it again.."); return; } FileOutputStream fis = new FileOutputStream(outputFile); BufferedOutputStream bos = new BufferedOutputStream(fis); BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file)); int character; while ((character = bis.read()) != -1) { bos.write(character); } bos.flush(); bis.close(); fis.close(); bos.close(); log.info("Time for dumping file " + fileName + ":" + (System.currentTimeMillis() - timer)); } /** * 保存缩略图 * This method checks if the given file exists on disk. If it does it's ignored because * that means that the file is allready cached on the server. If not we take out the stream from the * digitalAsset-object and dumps a thumbnail to it. */ public void dumpAssetThumbnail(File file, String fileName, String thumbnailFile, String filePath, int width, int height, int quality) throws Exception { long timer = System.currentTimeMillis(); log.info("fileName:" + fileName); log.info("thumbnailFile:" + thumbnailFile); File outputFile = new File(filePath + separator + thumbnailFile); if(outputFile.exists()) { log.info("The file allready exists so we don't need to dump it again.."); return; } ThumbnailGenerator tg = new ThumbnailGenerator(); tg.transform(filePath + separator + fileName, filePath + separator + thumbnailFile, width, height, quality); log.info("Time for dumping file " + fileName + ":" + (System.currentTimeMillis() - timer)); } /** * This method removes all images in the digitalAsset directory which belongs to a certain digital asset. */ public void deleteDigitalAssets(String filePath, String filePrefix) throws Exception { try { File assetDirectory = new File(filePath); File[] files = assetDirectory.listFiles(new FilenameFilterImpl(filePrefix)); for(int i=0; i<files.length; i++) { File file = files[i]; log.info("Deleting file " + file.getPath()); file.delete(); } } catch(Exception e) { log.error("Could not delete the assets for the digitalAsset " + filePrefix + ":" + e.getMessage(), e); } }}
阅读全文
1 0
- Java-UploadHelper工具类
- java常用工具类UploadHelper
- java文件工具类
- java日期工具类
- java 绝对路径工具类
- java工具类
- Java 数据处理工具类
- java日期工具类
- java工具类Assert
- 一些Java工具类
- anroid&java工具类
- java StringUtil 工具类
- java身份证号工具类
- java 日期工具类
- Java开发工具类
- java 加密工具类
- java集合工具类
- java时间工具类
- 快速排序
- MongoDB的安装(一)
- Java-生成缩略图工具类
- Javaweb规划
- uva 1220 lrj-P282 最大独立集(树形dp)
- Java-UploadHelper工具类
- Mac下统计任意文件夹中代码行数的工具——cloc
- JSON详解
- 小团队Git协作流程
- Android 在线视频播放器(Vitamio)
- 带你从模板理解树链剖分
- 编译libimobiledevice方法
- Java-ConnectDB工具类
- eclipse异常报错:Unable to build: the file dx.jar was not loaded from the SDK folder