- 浏览: 112147 次
- 性别:
- 来自: 厦门
文章分类
最新评论
-
qiqibaba1990:
JAVA与JS的数据交互 -
月氏城下:
为什么是5个,不是9个吗?
JSP五大内置对象 -
mida:
有点文字时不时更好了。
JAVA与JS的数据交互 -
pxx199248:
收藏楼,不错
常用JS驗證
package com.tkb.daboweb.util; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.URLEncoder; import java.text.DecimalFormat; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.fileupload.FileItem; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import ssh.spring.DeployInfoUtil; import app.j2ee.data.RandKeyCreator; import app.j2ee.file.FileUtil; import app.other.commons.file.MutiFileUpload; import app.other.poi.excel.ExcelUtil; public class FileTempUtil { private static final Log log = LogFactory.getLog(FileTempUtil.class); public static String getParam(String param, Map map){ String temp = ""; if(map != null){ Object o = map.get(param); if (o != null) { temp = (String)o; try { temp = new String(temp.getBytes("iso-8859-1"), "utf8"); } catch (Exception e) { // TODO: handle exception } } } return temp.trim(); } //接收Integer public static Integer getIntParam(String param, Map map,Integer defaultValue){ int num = defaultValue; if(map != null){ Object o = map.get(param); if (o != null) { try { o = new String(((String)o).getBytes("iso-8859-1"), "utf8"); num = Integer.parseInt((String)o); } catch (Exception e) { } } } return num; } //接收Date yyyy-MM-dd public static Date getDateParam(String param, Map map){ String temp = getParam(param, map); Date date = null; if(!temp.equals("")){ date = DataFormater.getDate(temp + " 00:00:00", DataFormater.DATATIME_STR); } return date; } /** * 取得普通表單數據 * @param request * @return */ public static Map getPreParameters(MutiFileUpload upload){ return upload.parameters; } /** * 多文件上傳 * 返回 上傳文件路徑 及 原始檔案名 * * folder 文件夹 * id 文件夹 * isRandom,是否用随机数 * * return map * key-oldXXX(原文件名), newXXX(新文件名), XXX(虚拟文件名) */ public static Map<String,String> upload(MutiFileUpload upload, String folder, String id, boolean isRandom) throws Exception { Map<String,String> temp = new HashMap<String,String>(); String rootPath = DeployInfoUtil.getUploadFilePath() + ConstantsUtil.UPLOADFILE_PATH + File.separator + folder + File.separator; String virtualPath = ConstantsUtil.UPLOADFILE_PATH + File.separator +folder + File.separator; Iterator iterator = upload.files.values().iterator(); while (iterator.hasNext()) { FileItem item = (FileItem) iterator.next(); if (upload.getFileName(item) == null || upload.getFileName(item).equals("")) continue; String rankKey = RandKeyCreator.getRandStr(12); String fileName = upload.getFileName(item); //原來的檔案名 String fileType = fileName.substring(fileName.lastIndexOf("."),fileName.length()); String fieldName = item.getFieldName(); //設置原始檔案名 temp.put("old"+fieldName, fileName); //原始文件名称 abc.jpg if(isRandom){ fileName = rankKey+fileType; } temp.put("new" + fieldName, fileName); //随机文件名 3434343434a.jpg FileUtil.saveFile(rootPath + id + File.separator ,fileName, item.get()); fileName = virtualPath + id + File.separator + fileName; temp.put(fieldName, fileName.replace("\\", "/")); //url文件名 upload/news/1/3434343434a.jpg } return temp; } /** * 多文件上傳 * @param request * @param folder 資源文件 如,game * @param id 表中id * @param files game下面二級目錄如game、pic 若沒有則null * @return * @throws Exception */ public static Map<String,String> upload(MutiFileUpload upload, String folder, String id, String [] files) throws Exception { Map<String,String> temp = new HashMap<String,String>(); String rootPath = DeployInfoUtil.getUploadFilePath() + ConstantsUtil.UPLOADFILE_PATH + File.separator + folder + File.separator; String virtualPath = ConstantsUtil.UPLOADFILE_PATH + File.separator +folder + File.separator; Iterator iterator = upload.files.values().iterator(); while (iterator.hasNext()) { FileItem item = (FileItem) iterator.next(); if (upload.getFileName(item) == null || upload.getFileName(item).equals("")) continue; String rankKey = RandKeyCreator.getRandStr(12); String fileName = upload.getFileName(item); //原來的檔案名 String fieldName = item.getFieldName(); if(files == null){ FileUtil.saveFile(rootPath + id + File.separator + rankKey,fileName, item.get()); fileName = virtualPath + id + File.separator + rankKey + File.separator + fileName; temp.put(fieldName, fileName.replace("\\", "/")); }else{ for(String file:files){ if(file.equals(fieldName)){ FileUtil.saveFile(rootPath + file + File.separator + id + File.separator + rankKey, fileName, item.get()); fileName = virtualPath + file + File.separator + id + File.separator + rankKey + File.separator + fileName; temp.put(fieldName, fileName.replace("\\", "/")); break; } } } } return temp; } public static void delFile(String fileName) throws Exception{ String filePath = fileName.substring(0,fileName.lastIndexOf("/")); filePath = fileName.substring(0,filePath.lastIndexOf("/")); filePath = DeployInfoUtil.getUploadFilePath() + filePath.replace("/", "\\"); FileUtil.delAll(new File(filePath)); } public static void delUpdateFile(String fileName) throws Exception{ String filePath = fileName.substring(0,fileName.lastIndexOf("/")); filePath = DeployInfoUtil.getUploadFilePath() + filePath.replace("/", "\\"); FileUtil.delAll(new File(filePath)); } //add by zhangmingshuang ---------2012-02-21 public static void delFilePost(String fileName) throws Exception{ String filePath = fileName.substring(0,fileName.lastIndexOf("/")); filePath = DeployInfoUtil.getUploadFilePath() + filePath.replace("/", "\\"); FileUtil.delAll(new File(filePath)); } public static void delUpdateFilePost(String fileName) throws Exception{ String filePath = DeployInfoUtil.getUploadFilePath() + fileName.replace("/", "\\"); FileUtil.delAll(new File(filePath)); } /** * 文件長度單位處理 * @param orilength * @return */ public static String getFileSizeHandle(long orilength){ DecimalFormat df = new DecimalFormat( "0.## "); if(orilength < 1024){ return orilength+"B"; }else if(orilength < 1024*1024){ Float si=orilength/1024f; return df.format(si)+"KB"; }else{ Float si=orilength/1024f/1024f; return df.format(si)+"M"; } } /** * 下載 * @param request * @param response * @param path 路径Z:\huayuschool\ * @param fileName 文件名 * @throws Exception * @return loadFlag ---true 下載成功, false 下載失敗 */ public static boolean download(HttpServletRequest request, HttpServletResponse response, String path, String fileName) throws Exception{ boolean loadFlag = true; //下載成功標志位 File file = null; InputStream in = null; // 輸入流 OutputStream out = null; // 輸出流 //在下載附件之前設置響應類型和頭部文件 response.setContentType("application/x-msdownload"); response.setHeader("Content-disposition", "attachment;filename="+ URLEncoder.encode(ExcelUtil.subLastStr(fileName, "/"),"UTF-8")); try{ file = new File(path); //取得文件對像 //從下載附件創建輸入流,并向請求獲取并寫入(客戶端或網絡)輸出流 in = new BufferedInputStream(new FileInputStream(file)); out = response.getOutputStream(); int readSize = 1024 * 10; //讀取大小 int length = 0; //讀取剩余大小 byte[] readByte = new byte[readSize]; while ((length = in.read(readByte, 0, readSize)) != -1) { out.write(readByte, 0, length); } out.flush(); }catch(Exception e){ loadFlag = false; e.printStackTrace(); }finally{ if(in!=null || out!=null ){ try { in.close(); out.close(); } catch (IOException e) { loadFlag = false; e.printStackTrace(); } } } return loadFlag; } }
发表评论
-
java.lang.OutOfMemoryError: Java heap space 解决方法
2012-09-25 14:40 891java.lang.OutOfMemoryError: ... -
单例模式
2012-09-13 17:26 790概念: java中单例模 ... -
设计模式
2012-09-13 17:25 757设计模式主要分三个类型:创建型、结构型和行为型。 其中创建型有 ... -
小数点
2012-08-27 16:46 839保留两位小数{方法一:{ double c=3.154 ... -
计时器2
2012-08-21 13:48 929Timer类是用来执行 ... -
ngnix.conf配置
2012-07-18 09:20 849# 开多少进程 worker_processes 2; ... -
多维数组
2012-07-12 10:32 738java语言中,数组是一种 ... -
取得下一年时间
2012-07-05 16:16 770Calendar cal = Calendar.get ... -
JSP五大内置对象
2012-07-04 16:00 1386一、Request对象方法 ... -
反射机制学习
2012-05-31 10:50 671JAVA语言中的反射机制: 在Java 运行时 环 ... -
class生成jar包
2012-05-23 16:10 898进入dos操作符窗口 cd进入要打成jar包的class文件 ... -
读取src下properties配置
2012-05-09 10:42 747try { String path = getClas ... -
ibatis与hibernate的区别
2012-04-25 09:14 779Hibernate简介Hibernate是一个开放源代码的对象 ... -
iBATIS教程之快速入门浅析
2012-04-24 17:01 706iBATIS教程要从iBATIS的概 ... -
tomcat外部启动项目
2012-04-13 15:12 898server.xml <Context pa ... -
防止跨域提交表单
2012-04-11 14:47 859public static boolean validate( ... -
Excel操作 >> 导入
2012-04-09 15:28 1167/** * 導入文件(excel) * @auth ... -
Excel操作 >> 导出
2012-04-09 15:25 1180ExcelBean.java public class Ex ... -
計時器
2012-03-31 17:28 775所有类型的 Java 应用程序一般都需要计划重复执行的任务。企 ... -
根据url读取数据并解析(json)
2012-03-30 16:23 1163/** * @param args * @thro ...
相关推荐
Java文件工具类
这个"Java加载配置文件工具类"很可能是为了解决这个问题而创建的一个实用工具,帮助开发者更方便、高效地处理配置文件。配置文件通常以.properties或.xml格式存在,用于存储应用程序的参数、配置项等。 配置文件的...
java 操作文件工具类java 操作文件工具类 java 操作文件工具类java 操作文件工具类java 操作文件工具类 java 操作文件工具类java 操作文件工具类java 操作文件工具类 java 操作文件工具类java 操作文件工具类java ...
这个"上传文件工具类"显然提供了处理文件上传的功能,可能包括了文件的读取、验证、编码转换、异常处理等多个方面。下面我们将深入探讨这个主题,以及相关的关键知识点。 首先,`UploadFileUtils.java`很可能包含了...
Android上传文件工具类
这个"读取properties文件工具类"是为了简化程序中对`.properties`文件的读取操作而设计的。通过这样的工具类,开发者可以方便地加载和获取配置文件中的属性值,避免重复编写相同的代码。下面我们将详细探讨`...
ZIP格式压缩文件工具类
文件上传下载工具类!
分片上传文件工具类,对应文章为:https://blog.csdn.net/y534560449/article/details
创建文件工具类 包含创建文件夹 文件 临时文件等
文件工具类java操作文件工具类java操作文件工具类java操作文件工具类java操作文件工具类
java 上传文件工具类 java 上传文件工具类java 上传文件工具类 java 上传文件工具类java 上传文件工具类 java 上传文件工具类
每个程序员都应该有一套自己的工具类,这个工具类提供很全的java文件操作方法
C# 文件工具类 实际项目使用 久经考验 文件读写 复制 删除 创建文件夹 判断文件扩展名等等
在描述中提到的博客文章“一次代码重构之旅-快速读写xml文件工具类封装”,作者分享了如何通过Java进行XML操作的优化,将原始的XML处理代码整合到一个工具类中,提供简洁易用的API。在阅读该博客文章的过程中,我们...
大家可以不用在为操作文件发愁了! 小弟觉得这个工具类还不是很完善,高手在帮忙完善一下,别忘了共享出来哦!
文件操作工具类,包含生成保存,复制,删除,读取,获取文件名,获取文件列表等等,只有你想不到,没有你找不到的Android端工具类,复制到项目中可直接使用
使用 net.lingala.zip4j包实现相关操作,相对于JDK自带的zip操作类,其不仅支持密码操作,更加简单方便,且不依赖其他类库。
这是一个C#操作XML文件的工具类,基本上你要用的都给你写好了,直接使用
实现文件的创建、删除、复制、压缩、解压以及目录的创建、删除、复制、压缩解压等功能