- 浏览: 60403 次
- 性别:
- 来自: 贵阳
文章分类
最新评论
-
feisuzhu:
Don't roll your own.这个是铁律。楼主要是学 ...
AES加解密算法(使用Base64做转码以及辅助加密) -
osacar:
这里DES还是AES???
AES加解密算法(使用Base64做转码以及辅助加密) -
1336224635:
着些不都是16进制表示的颜色吗?android 对颜色有要求吗 ...
android--color.xml
获取访问者ip
/**
* 获取访问者ip
*/
public static String getUserIp(HttpServletRequest request) {
String ip = request.getHeader( "x-forwarded-for");
if ((ip == null) || (ip.length() == 0)
|| "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader( "Proxy-Client-IP");
}
if ((ip == null) || (ip.length() == 0)
|| "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader( "WL-Proxy-Client-IP");
}
if ((ip == null) || (ip.length() == 0)
|| "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}
获取用户浏览器类型
/**
* 获取用户浏览器类型
*/
public static String getUserBrowerType(HttpServletRequest request) {
// String userAgent = request.getHeader("USER-AGENT").toLowerCase();
// return userAgent.split(";")[1];
return request.getHeader( "USER-AGENT");
}
获取时间差
/**
* 获取相差n月的月份的第一天或最后一天,格式:yyyyMMdd
*
* @param diff
* 月份差值
* @param type
* ('first':该月第一天,"last":该月最后一天)
* @return yyyyMMdd
*/
public static String getDayByDiff( int diff, String type) {
Calendar c = Calendar. getInstance();
c.add(Calendar. MONTH, diff);
Calendar calendar = new GregorianCalendar(c.get(Calendar. YEAR), c
.get(Calendar. MONTH), c.get(Calendar.DAY_OF_MONTH ));
String day = "";
if ( "first".equals(type)) {
day = "0"
+ String.valueOf(calendar
.getActualMinimum(Calendar. DAY_OF_MONTH));
} else {
day = String. valueOf(calendar
.getActualMaximum(Calendar. DAY_OF_MONTH));
}
return new SimpleDateFormat( "yyyy-MM").format(calendar.getTime()) + "-"
+ day;
}
/**
* 获取 -n或+n个年的年份yyyy
*
* @param diff
* @return
*/
public static String getYearByDiff( int diff) {
Calendar c = Calendar. getInstance();
c.add(Calendar. YEAR, diff);
return new SimpleDateFormat( "yyyy").format(c.getTime());
}
/**
* 获取 -n或+n个月的日期,格式:yyyy -MM
*
* @param diff
* 月份差值
* @return yyyy- MM
*/
public static String getMonthByDiff( int diff) {
Calendar calendar = Calendar. getInstance();
calendar.add(Calendar. MONTH, diff);
return new SimpleDateFormat( "yyyy-MM").format(calendar.getTime());
}
获取前两个月的时间
/**
* 获取前两个月的时间
*
* @param upMonthTime
* (格式:2011 -09)
* @return
*/
public static String getUpThreeTime(String upMonthTime) {
int queryYear = Integer. parseInt(upMonthTime.substring(0, 4));
int queryMonth = Integer. parseInt(upMonthTime.substring(5, 7));
String upQueryDateString = null;
if ( "01".equals(upMonthTime.substring(5, 7))) {
queryYear = queryYear - 1;
queryMonth = 11;
upQueryDateString = Integer. toString(queryYear) + "-"
+ Integer.toString(queryMonth);
} else if ( "02".equals(upMonthTime.subSequence(5, 7))) {
queryYear = queryYear - 1;
queryMonth = 12;
upQueryDateString = Integer. toString(queryYear) + "-"
+ Integer.toString(queryMonth);
} else if (queryMonth > 2 && queryMonth < 12) {
queryMonth = queryMonth - 2;
upQueryDateString = Integer. toString(queryYear) + "-0"
+ Integer.toString(queryMonth);
} else {
queryMonth = queryMonth - 2;
upQueryDateString = Integer. toString(queryYear) + "-"
+ Integer.toString(queryMonth);
}
return upQueryDateString;
}
截取、合并数组
/**
* 截取子数组
*
* @param array
* @param startIndexInclusive
* @param endIndexExclusive
* @return
*/
public static byte[] subarray( byte[] array, int startIndexInclusive,
int endIndexExclusive) {
if (array == null) {
return null;
}
if (startIndexInclusive < 0) {
startIndexInclusive = 0;
}
if (endIndexExclusive > array. length) {
endIndexExclusive = array. length;
}
int newSize = endIndexExclusive - startIndexInclusive;
if (newSize <= 0) {
return new byte[0];
}
byte[] subarray = new byte[newSize];
System. arraycopy(array, startIndexInclusive, subarray, 0, newSize);
return subarray;
}
/**
* 合并byte数组
*
* @param array1
* @param array2
* @return
*/
public static byte[] addAll( byte[] array1, byte... array2) {
if (array1 == null) {
return null;
} else if (array2 == null) {
return null;
}
byte[] joinedArray = new byte[array1. length + array2. length];
System. arraycopy(array1, 0, joinedArray, 0, array1. length);
System. arraycopy(array2, 0, joinedArray, array1.length, array2.length);
return joinedArray;
}
时间格式
/**
* 根据指定的日期格式生成日期时间串
*
* @param format
* 日期格式,如yyyyMMdd
* @return dateTimeString
*/
public static String formatDatetime(Date date, String format) {
DateFormat df = new SimpleDateFormat(format);
return df.format(date);
}
/**
* 将给定的日期格式化为"yyyy -MM -dd HH:mm:ss"
*
* @param date
* 日期
* @return 格式为"yyyy- MM- dd HH:mm:ss"的String类型的时间串
*/
public static String formatDatetime(Date date) {
return formatDatetime(date, "yyyy-MM-dd HH:mm:ss");
}
/**
* 根据指定的格式返回当前日期时间
*
* @param format
* 指定的日期格式
* @return String类型的时间
*/
public static String formatDatetime(String format) {
return formatDatetime(new Date(), format);
}
/**
* 返回当前标准的日期时间
*
* @return 格式为"yyyy- MM- dd HH:mm:ss"的当前时间
*/
public static String formatDatetime() {
return formatDatetime(new Date(), "yyyy-MM-dd HH:mm:ss");
}
转码
/**
* 编码转换ISO8859 -1 -> UTF -8
*
* @param source
* @return
* @throws UnsupportedEncodingException
*/
public static String isoToUtf8(String source)
throws UnsupportedEncodingException {
return null == source ? "" : new String(source.getBytes( "ISO8859-1"),
"utf-8");
}
/**
* 编码转换GB2312 -> ISO8859 -1
*
* @param source
* @return
* @throws UnsupportedEncodingException
*/
public static String gb2312ToISO(String source)
throws UnsupportedEncodingException {
return null == source ? "" : new String(source.getBytes( "gb2312"),
"ISO8859-1");
}
/**
* 编码转换ISO8859 -1 -> GB2312
*
* @param source
* @return
* @throws UnsupportedEncodingException
*/
public static String isoToGb2312(String source)
throws UnsupportedEncodingException {
return null == source ? "" : new String(source.getBytes( "ISO8859-1"),
"gb2312");
}
/**
* 获取访问者ip
*/
public static String getUserIp(HttpServletRequest request) {
String ip = request.getHeader( "x-forwarded-for");
if ((ip == null) || (ip.length() == 0)
|| "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader( "Proxy-Client-IP");
}
if ((ip == null) || (ip.length() == 0)
|| "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader( "WL-Proxy-Client-IP");
}
if ((ip == null) || (ip.length() == 0)
|| "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}
获取用户浏览器类型
/**
* 获取用户浏览器类型
*/
public static String getUserBrowerType(HttpServletRequest request) {
// String userAgent = request.getHeader("USER-AGENT").toLowerCase();
// return userAgent.split(";")[1];
return request.getHeader( "USER-AGENT");
}
获取时间差
/**
* 获取相差n月的月份的第一天或最后一天,格式:yyyyMMdd
*
* @param diff
* 月份差值
* @param type
* ('first':该月第一天,"last":该月最后一天)
* @return yyyyMMdd
*/
public static String getDayByDiff( int diff, String type) {
Calendar c = Calendar. getInstance();
c.add(Calendar. MONTH, diff);
Calendar calendar = new GregorianCalendar(c.get(Calendar. YEAR), c
.get(Calendar. MONTH), c.get(Calendar.DAY_OF_MONTH ));
String day = "";
if ( "first".equals(type)) {
day = "0"
+ String.valueOf(calendar
.getActualMinimum(Calendar. DAY_OF_MONTH));
} else {
day = String. valueOf(calendar
.getActualMaximum(Calendar. DAY_OF_MONTH));
}
return new SimpleDateFormat( "yyyy-MM").format(calendar.getTime()) + "-"
+ day;
}
/**
* 获取 -n或+n个年的年份yyyy
*
* @param diff
* @return
*/
public static String getYearByDiff( int diff) {
Calendar c = Calendar. getInstance();
c.add(Calendar. YEAR, diff);
return new SimpleDateFormat( "yyyy").format(c.getTime());
}
/**
* 获取 -n或+n个月的日期,格式:yyyy -MM
*
* @param diff
* 月份差值
* @return yyyy- MM
*/
public static String getMonthByDiff( int diff) {
Calendar calendar = Calendar. getInstance();
calendar.add(Calendar. MONTH, diff);
return new SimpleDateFormat( "yyyy-MM").format(calendar.getTime());
}
获取前两个月的时间
/**
* 获取前两个月的时间
*
* @param upMonthTime
* (格式:2011 -09)
* @return
*/
public static String getUpThreeTime(String upMonthTime) {
int queryYear = Integer. parseInt(upMonthTime.substring(0, 4));
int queryMonth = Integer. parseInt(upMonthTime.substring(5, 7));
String upQueryDateString = null;
if ( "01".equals(upMonthTime.substring(5, 7))) {
queryYear = queryYear - 1;
queryMonth = 11;
upQueryDateString = Integer. toString(queryYear) + "-"
+ Integer.toString(queryMonth);
} else if ( "02".equals(upMonthTime.subSequence(5, 7))) {
queryYear = queryYear - 1;
queryMonth = 12;
upQueryDateString = Integer. toString(queryYear) + "-"
+ Integer.toString(queryMonth);
} else if (queryMonth > 2 && queryMonth < 12) {
queryMonth = queryMonth - 2;
upQueryDateString = Integer. toString(queryYear) + "-0"
+ Integer.toString(queryMonth);
} else {
queryMonth = queryMonth - 2;
upQueryDateString = Integer. toString(queryYear) + "-"
+ Integer.toString(queryMonth);
}
return upQueryDateString;
}
截取、合并数组
/**
* 截取子数组
*
* @param array
* @param startIndexInclusive
* @param endIndexExclusive
* @return
*/
public static byte[] subarray( byte[] array, int startIndexInclusive,
int endIndexExclusive) {
if (array == null) {
return null;
}
if (startIndexInclusive < 0) {
startIndexInclusive = 0;
}
if (endIndexExclusive > array. length) {
endIndexExclusive = array. length;
}
int newSize = endIndexExclusive - startIndexInclusive;
if (newSize <= 0) {
return new byte[0];
}
byte[] subarray = new byte[newSize];
System. arraycopy(array, startIndexInclusive, subarray, 0, newSize);
return subarray;
}
/**
* 合并byte数组
*
* @param array1
* @param array2
* @return
*/
public static byte[] addAll( byte[] array1, byte... array2) {
if (array1 == null) {
return null;
} else if (array2 == null) {
return null;
}
byte[] joinedArray = new byte[array1. length + array2. length];
System. arraycopy(array1, 0, joinedArray, 0, array1. length);
System. arraycopy(array2, 0, joinedArray, array1.length, array2.length);
return joinedArray;
}
时间格式
/**
* 根据指定的日期格式生成日期时间串
*
* @param format
* 日期格式,如yyyyMMdd
* @return dateTimeString
*/
public static String formatDatetime(Date date, String format) {
DateFormat df = new SimpleDateFormat(format);
return df.format(date);
}
/**
* 将给定的日期格式化为"yyyy -MM -dd HH:mm:ss"
*
* @param date
* 日期
* @return 格式为"yyyy- MM- dd HH:mm:ss"的String类型的时间串
*/
public static String formatDatetime(Date date) {
return formatDatetime(date, "yyyy-MM-dd HH:mm:ss");
}
/**
* 根据指定的格式返回当前日期时间
*
* @param format
* 指定的日期格式
* @return String类型的时间
*/
public static String formatDatetime(String format) {
return formatDatetime(new Date(), format);
}
/**
* 返回当前标准的日期时间
*
* @return 格式为"yyyy- MM- dd HH:mm:ss"的当前时间
*/
public static String formatDatetime() {
return formatDatetime(new Date(), "yyyy-MM-dd HH:mm:ss");
}
转码
/**
* 编码转换ISO8859 -1 -> UTF -8
*
* @param source
* @return
* @throws UnsupportedEncodingException
*/
public static String isoToUtf8(String source)
throws UnsupportedEncodingException {
return null == source ? "" : new String(source.getBytes( "ISO8859-1"),
"utf-8");
}
/**
* 编码转换GB2312 -> ISO8859 -1
*
* @param source
* @return
* @throws UnsupportedEncodingException
*/
public static String gb2312ToISO(String source)
throws UnsupportedEncodingException {
return null == source ? "" : new String(source.getBytes( "gb2312"),
"ISO8859-1");
}
/**
* 编码转换ISO8859 -1 -> GB2312
*
* @param source
* @return
* @throws UnsupportedEncodingException
*/
public static String isoToGb2312(String source)
throws UnsupportedEncodingException {
return null == source ? "" : new String(source.getBytes( "ISO8859-1"),
"gb2312");
}
发表评论
-
WEB中以cvs格式导出数据
2013-04-19 16:21 1455实例为SSH项目,县公司导出售后报表的DEMO,先要导入jxl ... -
JDBC与Hibernate区别
2013-04-01 17:33 1108JDBC与Hibernate在性能上相 ... -
HTTP 错误总汇
2012-11-28 17:05 924HTTP 错误 400 400 请求出错 由于语法格式有误 ... -
Hibernate懒加载解析(转)
2012-11-14 13:29 1190在Hibernate框架中,当我们要访问的数据量过大时 ... -
移动设备开发中WebService的详解
2012-06-17 11:15 1729看到有很多朋友对WebService还不是很了解,在此就详细的 ... -
用JavaMail发送邮件(含实例)
2012-06-16 14:02 1281JavaMail是Sun发布的处理电子邮件的应用程序接口,它预 ... -
将网页数据导出到Excel(最简单的方式)
2012-06-16 13:46 1707下面这种方式,是将页面 ... -
jxl使用实例(Java-->Excel)
2012-06-16 13:43 1243运行本实例的前提:去网上下载一个叫jxl.jar的ja ... -
RSA加解密
2012-04-18 19:43 1538import java.io.FileOutputStre ... -
AES加解密算法(使用Base64做转码以及辅助加密)
2012-04-18 19:37 2323import javax.crypto.Cipher; ... -
MD5加密
2012-04-18 19:32 863public class MD5Util { /* ...
相关推荐
以下是对标题和描述中提到的一些常用Java工具类的详细解释: 1. **数据库池工具类**:数据库连接池是管理数据库连接的一种机制,它能有效地复用已存在的数据库连接,避免频繁创建和关闭连接导致的性能开销。常见的...
下面将详细介绍30个常用的Java工具类及其功能。 1. **`java.lang.String`**:这是最基础的工具类,用于处理字符串。提供了如`substring()`、`indexOf()`、`equals()`、`trim()`等大量方法。 2. **`java.util....
以下是对标题和描述中提到的一些Java常用工具类的详细讲解: 1. **UUID类**: `java.util.UUID` 是用来生成全局唯一标识符的类。UUID(Universally Unique Identifier)是一种128位的数字,可以确保生成的ID在全球...
在11年的编程生涯中,积累了一系列常用的Java工具类,这些类包含了上百种方法,几乎覆盖了大部分常见的编程场景。下面将详细阐述一些重要的Java工具类及其常用方法。 1. **Apache Commons Lang**: Apache Commons ...
总之,Java工具类是提高开发效率的关键,它们封装了常见的操作,减少了代码重复,提高了代码可读性和维护性。"一些java常用的工具类"可能涵盖了上述的多种功能,为开发者提供了方便快捷的编程体验。通过理解和利用...
1.[工具类] 读取、打印输出、保存xml .java 2.[工具类] Java中计算任意两个日期之间的工作天数 .java 3.[工具类] MD5 .java 4.[工具类] 时间工具TimeUtil.java 5.[工具类] 通信服务端...等等20几个常用工具类.
下面我们将详细探讨Java中28个常用的工具类,主要涉及`IO`相关的开发工具。 1. **java.lang.Math**:这个类提供了许多基础数学函数,如求平方根、最大值、最小值、随机数生成等。 2. **java.util.Arrays**:用于...
Java工具类集合是Java开发中不可或缺的一部分,它们提供了一系列便捷的方法,帮助开发者高效地处理各种常见任务。在Java中,工具类通常被组织在各种包下,如`java.util`、`java.lang`、`java.io`等。下面将详细介绍...
Java常用工具类是Java开发中不可或缺的一部分,它们提供了一系列便捷的方法,帮助开发者高效地处理各种常见任务。在Java中,最著名的工具类库是`java.util`包,它包含了大量实用类,如集合、日期时间、数学计算、...
Java工具类是Java编程中非常重要的组成部分,它们提供了一系列预定义的方法,可以帮助开发者高效地处理各种常见任务,而无需从头实现。在Java中,最知名的工具类库是`java.util`包,它包含了大量方便实用的类。下面...
"Java常用工具类大全,工作5年精心整理.zip"这个压缩包文件很可能包含了一位有经验的Java开发者在五年工作中积累的各种实用工具类,这些工具类能够极大地提高开发效率,简化代码编写。以下是对可能包含的知识点进行...
并且在平时开发中会遇到各种各样通用的一些功能,比如对json的处理,对String对象的处理,对Excel文件的处理,MD5加密处理,Bean对象处理等等,这些常用并通用的方法可以被封装成一个个工具类如StringUtil,...
提供了很丰富的java工具类,包括字符串、数字、日期、文件、图像、编码解码、校验工具、文档操作等。 主要分为以下几种: - 1.通用操作类,例如String、数字、日期、各种校验等 - 2.文档操作,excel、pdf等 - 3.加密...
在Java编程中,工具类(Util Class)是包含各种实用函数的静态类,它们提供了一种简化常见任务的方法。在给定的`UtilClass`中,我们有五个主要的工具类:`StringUtil`、`FileUtil`、`ConnectDB`、`DateUtil`和`...
精心整理的26个java常用工具类,如:FastJsonUtil,StringHelper,RandomHelper,FileHelper,HttpClientHelper等等,直接使用maven导入到eclipse中使用即可。
以下是对标题"常用的30个Java工具类"中提及的一些工具类及其功能的详细说明: 1. **MD5**: MD5(Message-Digest Algorithm 5)是一种广泛用于数据校验和加密的哈希函数。Java中的`java.security.MessageDigest`类...