stringutil常用工具类

package com.activity.util;

import java.io.File;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Random;

public class StringUtil {
/**
* 去除字符串中的空格
* @param str
* @return
* comment by ddb
*/
public static String trim(String str) {
return isNullOrBlank(str) ? str : str.trim();
}
/**
* 如果string为null则返回conv,否则返回string本身
* @param string
* @param conv
* @return
* comment by ddb
*/
public static String convNull2What(String string, String conv)
{
if (string == null)
{
return conv;
}
return string;
}
/**
* 如果第一个参数为null,则返回第二个参数,否则返回第一个参数的toString();
* @param obj
* @param conv
* @return
* comment by ddb
*/
public static String convNull2String(Object obj, String conv)
{
if (obj == null)
{
return conv;
}
return obj.toString();
}
/**
* value为原值,key为value字符串中需要替换的部分,replaceValue是替换key的新字符串
* 例如:
* String str = "books";
* String rStr=StringUtil.replace(str , "oo", "ee");
* System.out.println(rStr);
* 输出结果为:beeks
* @param value
* @param key
* @param replaceValue
* @return
* comment by ddb
*/
public static String replace(String value, String key, String replaceValue) {
if (value != null && key != null && replaceValue != null) {
int pos = value.indexOf(key);

if (pos >= 0) {
int length = value.length();
int start = pos;
int end = pos + key.length();

if (length == key.length()) {
value = replaceValue;
} else if (end == length) {
value = value.substring(0, start) + replaceValue;
} else {
value = value.substring(0, start) + replaceValue
+ replace(value.substring(end), key, replaceValue);
}
}
}
return value;
}
/**
* 把字符串转换成能适应html编码的形式
* @param Str
* @return
* comment by ddb
*/
public static String HtmlStringFilter(String Str) {

Str = replace(Str, "\n", "");
Str = replace(Str, "\"", """);
Str = replace(Str, "\r", "");
Str = replace(Str, "<", "<");
Str = replace(Str, ">", ">");
;
Str = replace(Str, " ", " ");
Str = replace(Str, "&nbsp;", " ");
return Str;
}
/**
* 如果value字符串为"",则返回true,否则返回false
* @param value
* @return
* comment by ddb
*/
public static boolean isBlank(String value) {
boolean ret = false;
if (value != null && value.equals("")) {
ret = true;
}
return ret;
}
/**
* 如果value字符串为null,则返回true,否则返回false
* @param value
* @return
* comment by ddb
*/
public static boolean isNull(String value) {
return value == null ? true : false;
}
/**
* 如果字符串value为null或者为""则返回true,否则返回false
* @param value
* @return
* comment by ddb
*/
public static boolean isNullOrBlank(String value) {
return isNull(value) || isBlank(value);
}
/**
* 如果参数fieldValue为""或者为null则返回null字符串,否则返回'fieldValue'形式的字符串
* @param fieldValue
* @return
* comment by ddb
*/
public static String fieldValue(String fieldValue) {
if (StringUtil.isNullOrBlank(fieldValue)) {
return "null";
} else {
return ("'" + fieldValue + "'");
}

}

public static double fieldValue(double fieldValue) {

return fieldValue;

}

public static float fieldValue(float fieldValue) {

return fieldValue;

}

public static int fieldValue(int fieldValue) {

return fieldValue;

}

public static long fieldValue(long fieldValue) {

return fieldValue;

}
/**
* 把string类型的数组转换成stringBuffer形式的字符串
* 例如:string数组{aa,bb,cc}
* 转换后为[aa,bb,cc,]
* @param arr
* @return
* comment by ddb
*/
public static String getArrayElementString(String[] arr) {
StringBuffer ret = new StringBuffer("");
if (arr == null) {
return null;
}

ret.append("[");
for (int i = 0; i < arr.length; i++) {
ret.append(arr[i] + ",");
}
ret.append("]");

return ret.toString();

}
/**
* 传入一个日期格式,返回改格式的当前日期
* @param dateFormat
* @return
* comment by ddb
*/
public static String getCurrDate(String dateFormat) {
Date date = new Date();
SimpleDateFormat myDateFormat = new SimpleDateFormat(dateFormat);
return myDateFormat.format(date);
}
/**
* 返回当前时间的Date类型
* 例如:Tue Feb 15 11:07:54 CST 2011
* @return
* comment by ddb
*/
public static java.util.Date getCurrentDate() {
return new Date();
}
/**
* 返回当前系统时间
* 例如:2011-02-15 11:04:35.39
* @return
* comment by ddb
*/
public static Timestamp getCurrDateTime() {
return new Timestamp(System.currentTimeMillis());
}
/**
* 返回当前时间的Date类型
* 例如 2011-02-15
* @return
* comment by ddb
*/
public static java.sql.Date getCurrDate() {
return new java.sql.Date(System.currentTimeMillis());
}
/**
* 获得当前的年份
* 例如:2011
* @return
* comment by ddb
*/
public static String getCurrYear() {
return getCurrDate("yyyy");
}
/**
* 把Date类型转换长String类型
* @param date
* @return
* comment by ddb
*/
public static String dateToString(java.util.Date date) {
SimpleDateFormat myDateFormat = new SimpleDateFormat("yyyy-MM-dd");
return myDateFormat.format(date);
}
/**
* 把string类型转换成Date类型
* @param strDate
* @return
* comment by ddb
*/
public static java.sql.Date stringToDate(String strDate) {

java.sql.Date date = null;
try {
date = java.sql.Date.valueOf(strDate);
} catch (Exception ex) {
}
return date;
}

/**
* 把String类型转换为yyyy-MM-dd形式的Date类型
* @param strDate
* @return
* comment by ddb
*/
public static java.util.Date stringToUtilDate(String strDate) {
java.util.Date date = null;
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
try {
date = df.parse(strDate);
} catch (Exception ex) {
}
return date;
}
/**
* 把固定格式的日期增加或者减少固定个月
* @param offset 月份偏移量,可以为负整数值
* @param dateFormat 日期格式
* @return
* comment by ddb
*/
public static String addMonth(int offset, String dateFormat) {
SimpleDateFormat df = new SimpleDateFormat(dateFormat);
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, offset);
return df.format(calendar.getTime());
}
/**
* 把改date日期增加或者减少固定个月
* @param offset 月份偏移量,可以为负整数值
* @param date 日期类型
* @return
* comment by ddb
*/
public static Date addMonth(int offset, Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.MONTH, offset);
return calendar.getTime();
}
/**
* 把改date日期增加或者减少固定个天数
* @param offset 天数偏移量,可以为负整数值
* @param date 日期类型
* @return
* comment by ddb
*/
public static Date addDay(int offset, Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DATE, offset);
return calendar.getTime();
}
/**
* 从开始时间到结束时间所跨越的周数
* @param startDate
* @param endDate
* @return
* comment by ddb
*/
public static int minusWeek(Date startDate, Date endDate) {

if (startDate.getTime() >= endDate.getTime()) {
return 0;
}

long startDay = (startDate.getTime() + 4 * DateUtils.DAY)
/ DateUtils.WEEK;
long endDay = (endDate.getTime() + 4 * DateUtils.DAY) / DateUtils.WEEK;

long result = endDay - startDay + 1;

return new Long(result).intValue();

}
/**
* 获取当前时间是一周中的某一天,返回值为如下字符串中的一个
* "sunday", "monday", "tuestay", "wednesday", "thursday", "friday","saturday"
* @return
* comment by ddb
*/
public static String getWeekDay() {
Date date = new Date();
Calendar c = Calendar.getInstance();
c.setTime(date);
int i = c.get(Calendar.DAY_OF_WEEK) - 1;
String day[] = new String[] { "sunday", "monday", "tuestay", "wednesday", "thursday", "friday",
"saturday" };
return day[i];
}

public static double round(double v, int scale) {

if (scale < 0) {
throw new IllegalArgumentException(
"The scale must be a positive integer or zero");
}

BigDecimal b = new BigDecimal(Double.toString(v));
BigDecimal one = new BigDecimal("1");
return b.divide(one, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
}

public static float floatRound(float a) {
java.text.DecimalFormat df1 = new java.text.DecimalFormat("######.##");
return Float.parseFloat(df1.format(a));
}

public static double floatRound(double a) {
java.text.DecimalFormat df1 = new java.text.DecimalFormat("######.##");
return Double.parseDouble(df1.format(a));
}

public static float floatRound1(float a) {
java.text.DecimalFormat df1 = new java.text.DecimalFormat("######.#");
return Float.parseFloat(df1.format(a));
}

public static String formatFour(int a) {
java.text.DecimalFormat df1 = new java.text.DecimalFormat("0000");
return df1.format(a);
}

public static String formatNumber(int a, int num) {
if (num <= 0)
return null;
StringBuffer strbuff = new StringBuffer();
for (int i = 0; i < num; i++) {
strbuff.append("0");
}
java.text.DecimalFormat df1 = new java.text.DecimalFormat(strbuff
.toString());
return df1.format(a);
}

public static String getNewFileName(String oldFileName) {
String name = oldFileName.substring(oldFileName.lastIndexOf("/") + 1);
String extname = name.substring(name.lastIndexOf("."));
Date now = new Date();
long i = now.getTime();
Random r = new Random();
int rInt = r.nextInt(100);
String newName = getCurrDate("yyyyMMdd") + new Long(i).toString()
+ new Integer(rInt).toString() + extname;
return newName;
}

public static String getOldFileName(String oldFileName) {
String name = oldFileName.substring(oldFileName.lastIndexOf("/") + 1);
return name;
}

public static String[] getFileNameArray(String theFileName) {
String[] StrArr = {
theFileName.substring(0, theFileName.indexOf(".") - 1),
theFileName.substring(theFileName.indexOf(".") + 1) };
return StrArr;
}

public static String getFormatString(String targetStr, String appendStr) {
if (targetStr == null || targetStr.length() < 1) {
targetStr = appendStr;
} else {
targetStr += "/" + appendStr;
}
return targetStr;
}

public static void delFolder(String s, boolean delDir) {

File file1 = new File(s.replaceAll("//", "/").replaceAll("\\/", "/"));
if (file1.exists() && file1.isDirectory()) {
File afile[] = file1.listFiles();
for (int i = 0; i < afile.length; i++) {
if (afile[i].isFile()) {
if (afile[i].exists())
afile[i].delete();
continue;
}
if (afile[i].isDirectory())
delFolder(afile[i].toString(), delDir);
}

if (delDir)
file1.delete();
}

}

public static final void delFile(String s) {
File file1 = new File(s);
if (file1.exists()) {
file1.delete();
}

}

/**
* 屏蔽手机号码
* @param mobile
* @return
*/
public static String repMobile(String mobile) {
String repMobile = "";
if (null != mobile && !"".equals(mobile)) {
if (11 == mobile.length()) {
String h = mobile.substring(0, 3);
String f = mobile.substring(7, 11);
repMobile = h + "****" + f;
} else {
repMobile = mobile;
}
}
return repMobile;
}

// public static void main(String[] args)
// {
String[] str = {"aa","bb","cc"};
Date rStrStart=StringUtil.getCurrentDate();
Date rStrEnd=StringUtil.addMonth(1,StringUtil.getCurrDate());
// Float nub=StringUtil.floatRound1(444777);
// System.out.println(nub);
// }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值