`
wang_zhi_peng2007
  • 浏览: 253836 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

常用类

阅读更多
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.net.Inet6Address;
import java.net.UnknownHostException;
import java.text.DateFormat;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.upload.FormFile;

import com.popedom.dyhx.config.Config;
/**
 * 2009年元月
 * 工具类,通用方法
 * @author sunyong
 *
 */
public class Tools {
                /**
	 *取得当前时间
	 * @return
	 */
	public static Date nowDate(String format){
		SimpleDateFormat sdf = new SimpleDateFormat(format);
		String d=sdf.format(new Date());
		return java.sql.Date.valueOf(d);
	}
	/**
	 *取得当前时间
	 * @return
	 */
	public static Date nowUtilDate(String format){
		SimpleDateFormat sdf = new SimpleDateFormat(format);
		String d=sdf.format(new Date());
		try {
			return DateFormat.getDateInstance().parse(d);
		} catch (ParseException e) {
			return new Date();
		}
	}
	/**
	 *取得当前时间
	 * @return
	 */
	public static String nowDateTime(){
		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
		String d=sdf.format(new Date());
		return d;
	}
	/**
	 *取得当前时间
	 * @return
	 */
	public static String nowDateByyyyMMdd(){
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		String d=sdf.format(new Date());
		d=d.substring(0, d.indexOf("-"))+d.substring(d.indexOf("-")+1);
		d=d.substring(0, d.indexOf("-"))+d.substring(d.indexOf("-")+1);
		return d;
	}

	public static String EnglishToChinese(String s){
		String str="";
		try {
			str=new String(s.getBytes("ISO-8859-1"),"GBK");
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		return str;
	}
	public static String Utf8(String s){
		String str="";
		try {
			str=new String(s.getBytes("ISO-8859-1"),"UTF-8");
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		return str;
	}
	public static String GBKToISO88591(String s){
		String str="";
		try {
			str=new String(s.getBytes("GBK"),"ISO-8859-1");
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		return str;
	}
	/**
	 * 判断一个字符串是否是乱码,如果是则转码
	 * @param str
	 * @return String str
	 */
	public static String checkStrIsFail(String str){
		if(str==null){
			return "";
		}
		if(isGBK(str)){
			try {
				return new String(str.getBytes("ISO-8859-1"),"GBK");
			} catch (UnsupportedEncodingException e) {
				e.printStackTrace();
				return "";
			}
		}else{
			return str;
		}
	}
	/**
	 * 判断是否是乱码
	 * @param str
	 * @return
	 */
	public static boolean isGBK(String str){
		try {
			str = new   String(str.getBytes("ISO-8859-1"),   "GBK");
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}   
        char ws[] = new char[]{'"', '?' , '\'' , '&'};   
        for (int i = 0; i < str.length(); i++)   {   
            char   c   =   str.charAt(i);   
            //System.out.println((int)c);   
            for(int j = 0; j < ws.length; j++){   
                char v = ws[j];   
                //System.out.println("要验证的字符是:   |"   +   v   +   "|   !=   |"   +   c   +   "|");   
                if (c == v){   
                    return false;   
                }   
            }   
            if((int)c == 0xfffd)   {   
                return false;   
            }   
        }return true;
	}
	/**
	 * 取得本机IP
	 * @param req
	 * @return
	 */
	public static String nowIp(HttpServletRequest req){	
		return req.getRemoteAddr();
	}
	/**
	 * 时间格式转换
	 * @param date
	 * @return
	 */
	public static String formatDate(Date date){
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		String d=sdf.format(date);
		return d;
	} 
	/**
	 * 时间格式转换(yyyyMMdd 到 yyyy-MM-dd)
	 * @param date
	 * @param format
	 * @return
	 */
	public static String formatDate_s(String date,String format){
		String da=date.substring(0,4)+"-"+date.substring(4,6)+"-"+date.substring(6);
		SimpleDateFormat sdf = new SimpleDateFormat(format);
		String d="";
		d = sdf.format(java.sql.Date.valueOf(da));
		return d;
	} 
	/**
	 *弹出提示框(带转向的) 
	 * @param msg 提示内容
	 * @param toUrl 转向路径
	 * @return 
	 */
	public static String Alert_Redirect(String msg, String toUrl) {
		    String str = "";
		    str = "<script language=javascript>";
		    str = str + "<!--\n";
		    str = str + "alert(\"" + msg + "\")\n";
		    if (!(toUrl.equals("")))
		      str = str + "location.href=\"" + toUrl + "\"\n";
		    str = str + "-->\n";
		    str = str + "</script>\n";
		    return str;
	}
	/**
	 *弹出提示框(带转向与JS函数的) 
	 * @param msg 提示内容
	 * @param toUrl 转向路径
	 * @return 
	 */
	public static String Alert_Redirect(String msg, String toUrl,String js) {
		    String str = "";
		    str = "<script language=javascript>\n";
		    if(!("".equals(msg))){
		    	 str = str + "alert(\"" + msg + "\");\n";
		    }
		    if (!(toUrl.equals("")))
		      str = str + "location.href=\"" + toUrl + "\"\n";
		    str = str+js;
		    str = str + "</script>\n";
		    return str;
	}
	/**
	 * 弹出提示框(确定后返回)
	 * @param msg  提示内容
	 * @return
	 */
   public static String Alert_Back(String msg) {
		    String str = "";
		    str = "<script language=javascript>\n";
		    str = str + "<!--\n";
		    str = str + "alert(\"" + msg + "\")\n";
		    str = str + "history.back()\n";
		    str = str + "-->\n";
		    str = str + "</script>\n";
		    return str;
	}
	/**
	 * 弹出提示框
	 * @param msg 提示内容
	 * @return
	 */
	public static String Alert(String msg) {
		    String str = "";
		    str = "<script language=javascript>\n";
		    str = str + "<!--\n";
		    str = str + "alert(\"" + msg + "\")\n";
		    str = str + "-->\n";
		    str = str + "</script>\n";
		    return str;
	}
	/**
	 * 文件上传(应用与Struts1.2)
	 * @param request
	 * @param response
	 * @param formFile
	 * @param locationPath
	 * @return
	 * @throws IOException
	 */
	public static String upload(HttpServletRequest request, HttpServletResponse response,FormFile formFile,String locationPath) throws IOException {
		@SuppressWarnings("unused")
		int filesize = formFile.getFileSize();
		if(filesize==0){
			try {
				response.getWriter().print(Alert_Redirect("文件大小不能为0!",locationPath));
				return null;
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		String file_path = request.getSession().getServletContext().getRealPath("/WEB-INF/upload_xml").replaceAll("%20", " ");//上传到服务器的路径
		File file = new File(file_path);
		if(!file.exists()){
			file.mkdir();
		}
		String realPath=file_path+"\\"+formFile.getFileName();
		File f1 = new File(realPath);
		FileOutputStream fos=null;
		response.setCharacterEncoding("GBK");
		try {
			fos = new FileOutputStream(f1);
			fos.write(formFile.getFileData());
			fos.flush();
			fos.close();
			return realPath;
		} catch (FileNotFoundException e) {
			response.getWriter().print(Alert_Redirect("文件未找到,请确认文件是否存在!", locationPath));
			e.printStackTrace();
			return null;
		}catch(IOException e){
			e.printStackTrace();
		}return null;
	}
	/**
	 * 文件下载
	 * @param filepath 路径
	 * @param filename 文件名
	 * @param request
	 * @param response
	 */
	public static boolean downFile(String filepath ,String filename,HttpServletRequest request, HttpServletResponse response) {
		 try {
			File f = new File(filepath.replaceAll("%20", " "));
			if(!f.exists()){
				response.setCharacterEncoding("GBK");
				response.getWriter().print(Tools.Alert_Back("文件路径不正确或文件不存在!"));
				return false;
			}
			InputStream is = new FileInputStream(f);
			OutputStream os=response.getOutputStream();;
			
			BufferedInputStream bis = new BufferedInputStream(is);
			BufferedOutputStream bos =new BufferedOutputStream(os);
			
			response.reset();
			response.setCharacterEncoding("GBK");
			response.setContentType("text/html;charset=GBK");//设置charset,文件的字符编码
			response.setContentType("application/x-msdownload");//纯下载
			/*pdf    response.setContentType("application/pdf");//
			word   response.setContentType("application/msword");*/
			
			response.setHeader("Content-Disposition", "attachment;filename="+filename);
			
			int bytesRead = 0;
			byte[] buffer = new byte[(int)f.length()];
			while ((bytesRead = bis.read(buffer)) != -1)
			{
			    bos.write(buffer, 0, bytesRead);//buffer read
			}
			bos.flush();
		    bis.close();
			bos.close();
			is.close();
			os.close();
			return true;
		} catch (FileNotFoundException e) {
			e.printStackTrace();
			return false;
		}catch(IOException e){
			e.printStackTrace();
			return false;
		}
	}
	
	//对对象进行四舍五入.
	public static String sswr_comm(Object value,String point){
		DecimalFormat df = new DecimalFormat("#0."+point);
		String str="";
		if(value == null || "".equals(value)){
			new Throwable( "不能传空值!");
		}
		try{
			if(value instanceof String) {
				str = df.format(Double.parseDouble(value.toString()));
			}else if(value instanceof Double){
				str = df.format(value);
			}
		}catch(Exception e){
			e.printStackTrace();
		}
		return str;
	}
	
	/**
	 * 四舍五入
	 * @param value
	 * @return
	 */
	public static String sswr(Double value,String point){
		DecimalFormat df = new DecimalFormat("#0."+point);
		String str = df.format(value);
		
		return str;
	}
	/**
	 * 四舍五入
	 * @param value
	 * @return
	 */
	public static double sswr_d(Double value,String point){
		DecimalFormat df = new DecimalFormat("#0."+point);
		String str = df.format(value);
		return Double.parseDouble(str);
	}
	/**
	 * 四舍五入
	 * @param value
	 * @return
	 */
	public static String sswr(String value,String point){
		DecimalFormat df = new DecimalFormat("#0."+point);
		String str = df.format(Double.parseDouble(value));
		return str;
	}
	/**
	 * null 或 "" 转换成返回一个"" 否则将结果四舍五入返回 
	 * @param obj
	 * @return
	 */
	public static String nullTonbsp_sswr(Object obj,String point){
		if(obj==null || "".equals(obj)){
			return "";
		}else{
			return sswr(obj.toString(),point);
		}
	}

	public static String FormatDouble(Object obj){	
		if(obj==null){
			obj=0.0;
		}
		DecimalFormat decimalFormat = new DecimalFormat("0.00");
		String str = decimalFormat.format(obj);
		return str;
	}
	public static BigDecimal FormateDecimal(Double d){
		return BigDecimal.valueOf(d);
	}
	public static Double parseDouble(String s){
		if(s==null || "".equals(s)){
			return 0d;
		}else{
			return Double.parseDouble(s);
		}
	}
	public static Long parseLong(Object s){
		if(s==null || "".equals(s)){
			return 0L;
		}else{
			return Long.parseLong(s+"");
		}
	}
	/**
	 * 得到一个文件夹下的所有文件并存入到Map容器中
	 * @param filepath 文件夹路径
	 * @param pathMap Map容器
	 * @return Map<Integer,String>
	 * @throws Exception
	 */
	public static Map<Integer, String> readfile(String filepath, Map<Integer, String> pathMap) throws Exception {
		  if (pathMap == null) {
			  pathMap = new HashMap<Integer, String>();
		  } 
		  File file = new File(filepath); 
		  // 文件
		  if (!file.isDirectory()) { 
			  pathMap.put(pathMap.size(), file.getPath());
		  } else if (file.isDirectory()) { // 如果是目录, 遍历所有子目录取出所有文件名 
			   String[] filelist = file.list(); 
			   for (int i = 0; i < filelist.length; i++) { 
				    File readfile = new File(filepath + "/" + filelist[i]); 
				    if (!readfile.isDirectory()) {
				    	//System.out.println(readfile.getName());
				    	if(readfile.getName().lastIndexOf(".")!=-1){
				    		String endWith = readfile.getName().substring(readfile.getName().lastIndexOf("."));		    	
					    	//if(".xls".equalsIgnoreCase(endWith)){
					    		pathMap.put(pathMap.size(), readfile.getPath());
					    	//}
				    	}
				    } else if (readfile.isDirectory()) { // 子目录的目录
				    	readfile(filepath + "/" + filelist[i], pathMap); 
				    } 
			   } 
		  } 
		  return pathMap; 
	}
	/**
	 * Map转换为List
	 * @param pathMap
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public  static List<String> mapToList(Map<Integer,String> pathMap){
		List pathList =null;
		if(pathMap!=null){
			pathList = new ArrayList();
		}
		for(int i=0;i<pathMap.size();i++){
			pathList.add(pathMap.get(i));
		}return pathList;
	}
	/**
	 * 求两个时间相差的分钟数
	 * @param date1 如:yyyy-MM-dd HH:mm
	 * @param date2 如:yyyy-MM-dd HH:mm
	 * @return number
	 */
	public static Long getDays_hour(String stratdate, String enddate) {   
        if (stratdate == null || stratdate.equals(""))   
         return 0L;   
        if (enddate == null || enddate.equals(""))   
         return 0L;   
        // 转换为标准时间   
        SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm");   
        java.util.Date date = null;   
        java.util.Date mydate = null;   
        try {   
         date = myFormatter.parse(stratdate);   
         mydate = myFormatter.parse(enddate);   
        } catch (Exception e) {
        	e.printStackTrace();
        }
        return (mydate.getTime()-date.getTime()) / (long)(60 * 1000);  //计算分钟
    } 
     /**
      * 获得指定时间加指定分钟后的时间
      * @param d 指定时间
      * @param minute 分钟
      * @return
      */
	public static Date getDate(Date d,int minute){      
        Calendar now = Calendar.getInstance();   
        now.setTime(d);      
        now.set(Calendar.MINUTE, now.get(Calendar.MINUTE) + minute);   
       //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");    
        return now.getTime();   
    }  
		
} 

 

分享到:
评论

相关推荐

    JAVA常用类总结

    JAVA常用类,java封装类,String类和StringBuffer类......

    实验5 JAVA常用类.doc

    实验5的Java常用类主要涵盖了Java编程中的一些核心概念和常用工具类的使用。以下是这些知识点的详细说明: 1. **String、StringBuffer(StringBuilder)**: - **String** 类在Java中是不可变的,这意味着一旦创建了...

    28个PHP常用类

    "28个PHP常用类"可能包含了多个常见的、实用的类,这些类通常被广泛应用于各种PHP项目中,以解决特定的问题或提升开发效率。下面将详细讨论一些可能包含在这些类中的常见主题: 1. **错误和异常处理**: - `...

    Java 常用类 的介绍

    掌握这些Java常用类的基本用法和特性对于编写高效、可靠的Java代码至关重要,它们是Java程序设计的基础,广泛应用于各种类型的软件开发项目中。通过深入了解和熟练使用这些类,开发者能够更好地构建复杂的应用程序并...

    C#常用类11个相关代码源码

    在C#编程语言中,"常用类"是指那些在日常开发中经常被引用和使用的类,它们提供了许多基本功能,可以极大地提高开发效率。这里我们关注的11个C#常用类,很可能是涵盖了一些核心的.NET Framework或者.NET Core中的...

    java的1000个常用类

    这里我们探讨的是Java的1000个常用类,这些类在日常开发中扮演着重要角色。以下是一些核心和常见的类,以及它们的用途: 1. `java.util.List`(2889次):List接口是集合框架的一部分,它代表了一个有序的元素集合...

    Java常用类总结

    总的来说,熟练掌握这些Java常用类对于提升编程效率和编写高质量代码至关重要。它们涵盖了数据存储、输入输出、并发控制、日期时间处理等多个方面,是Java程序员的基础技能。了解并精通这些类的使用,能帮助开发者更...

    C#常用类集

    在.NET框架中,C#语言提供了丰富的...以上就是"C#常用类集"中涉及的关键知识点,这些工具类使得C#程序员能够高效地开发应用程序,处理各种数据和资源。了解并熟练使用这些类库,对于提升代码质量和开发效率至关重要。

    Java常用类.ppt

    Java常用类.pptJava常用类.ppt

    java课件(常用类)

    "java课件(常用类)"这个主题涵盖了Java基础知识中的重要部分——常用类。这些类是Java标准库的一部分,为开发者提供了丰富的功能,可以极大地提高开发效率。 在Java中,"常用类"通常指的是那些位于Java标准库...

    30多个android常用类

    在这个压缩包中,包含的30多个Android常用类覆盖了日志打印、用户界面反馈、异常处理、时间处理、文件操作、加密解密以及网络和WiFi相关的功能。以下将详细阐述这些知识点: 1. **日志(Log)**:Android系统提供了...

    JAVA常用类和方法

    JAVA常用类和方法 JAVA语言中有许多常用的类和方法,以下是其中的一些: 字符串类 字符串是JAVA中最基本的数据类型之一。String类提供了许多有用的方法,以下是一些常用的方法: * 获取字符串的长度:length() *...

    C#基础类 常用类 常用方法源码 .NET 工具类 源码

    这个压缩包“C#基础类 常用类 常用方法源码 .NET 工具类 源码”包含了C#编程中的基础类和常用工具类的源代码,对于学习和理解C#的编程实践非常有帮助。下面,我们将详细探讨这些关键知识点。 1. **基础类**:在C#中...

    .net 常用类集锦

    常用类集锦,内有各常用类与函数,可省去大部分时间编写烦锁的代码.

    JAVA课件 常用类

    介绍JAVA常用类,Object类 System类 基本类型的包装类 日期类 随机数类Random 枚举类型 泛型

    java常用类课件.pdf

    java 常用类课件。Collection、List、LinkedList、Vector、Iterator、Map、HashMap、TreeMap、MATH、Date、Set

    C# 常用类大全

    "C# 常用类大全"是一个集合了多种实用工具类的资源,旨在帮助开发者快速找到并利用这些类进行开发。本文将深入探讨C#中一些常用的类,以及它们在实际开发中的应用。 一、System.IO命名空间 System.IO命名空间包含了...

    Java常用类源码

    在Java编程语言中,了解和研究常用类的源码对于提升编程技能至关重要。Java的类库丰富多样,包含了大量预定义的类,这些类提供了许多基础功能,方便开发者快速构建应用程序。本文将深入探讨几个Java中常用的类,包括...

    java常用系统类库实验

    实验旨在加深学生对Java预定义类的理解,掌握常用类的运用技巧,以及熟练方法覆盖(重写)的实践。实验分为三个部分,分别围绕Math类、基本类型的包装类、日期类(Date和Calendar)、以及动态数组Vector类展开。 ##...

    开发十六年的积累(java常用类)

    在Java编程语言中,开发者经常会遇到各种场景,需要使用到一些内置的或者第三方的常用类。这些类在日常开发中扮演着重要的角色,能够帮助我们更高效地完成任务。"开发十六年的积累(java常用类)"这个主题,无疑是对...

Global site tag (gtag.js) - Google Analytics