⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 yfpubs.java

📁 JAVA公共类,这可是我自己编写的哦
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package common;

import java.security.*;
import java.math.*;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.io.*;
import java.util.*;
import java.util.StringTokenizer;

public class YfPubs
{
	/**
     * 将传入的字符串格式化:传入 a,b,c 格式化后 'a','b','c'
     * 
     * @param sSource
     *            String
     * @return String
     */
	public static String formatStringA(String sSource)
	{
		if (sSource == null)
			sSource = "''";
		else if (sSource.equals(""))
			sSource = "''";
		else
		{
			sSource = sSource.replaceAll(",", "','");
			sSource = "'" + sSource + "'";
		}
		return sSource;
	}

	/**
     * 判断参数是否为空,为空则返回一个长度为0的整形数组,否则返回其值
     * 
     * @param aSource
     *            源字符串数组
     * @return 整型数组
     */
	public static int[] getIntArray(String[] aSource)
	{
		int iReturn[] = new int[0];
		if (aSource != null)
		{
			iReturn = new int[aSource.length];
			for (int i = 0; i < aSource.length; i++)
			{
				iReturn[i] = Integer.parseInt(aSource[i]);
			}
		}
		return iReturn;
	}

	/**
     * 将数组中的元素连成一个以逗号分隔的字符串
     * 
     * @param aSource
     *            源数组
     * @return 字符串
     */
	public static String arrayToString(String[] aSource)
	{
		return arrayToString(aSource, ",");
	}

	/**
     * 将数组中的元素连成一个以给定字符分隔的字符串
     * 
     * @param aSource
     *            源数组
     * @param sChar
     *            分隔符
     * @return 字符串
     */
	public static String arrayToString(String[] aSource, String sChar)
	{
		String sReturn = "";
		for (int i = 0; i < aSource.length; i++)
		{
			if (i > 0)
				sReturn += sChar;
			sReturn += aSource[i];
		}
		return sReturn;
	}

	/**
     * 将两个字符串的所有元素连结为一个字符串数组
     * 
     * @param array1
     *            源字符串数组1
     * @param array2
     *            源字符串数组2
     * @return String[]
     */
	public static String[] arrayAppend(String[] array1, String[] array2)
	{
		return (String[]) (arrayAppend(array1, array2));
	}

	/**
     * 将两个对象数组中的所有元素连结为一个对象数组
     * 
     * @param array1
     *            源字符串数组1
     * @param array2
     *            源字符串数组2
     * @return Object[]
     */
	public static Object[] arrayAppend(Object[] array1, Object[] array2)
	{
		int iLen = 0;
		Object aReturn[];
		if (array1 == null)
			array1 = new Object[0];
		if (array2 == null)
			array2 = new Object[0];
		// 获得第一个对象数组的元素个数
		iLen = array1.length;
		aReturn = new Object[iLen + array2.length];
		// 将第一个对象数组的元素加到结果数组中
		for (int i = 0; i < iLen; i++)
			aReturn[i] = array1[i];
		// 将第二个对象数组的元素加到结果数组中
		for (int i = 0; i < array2.length; i++)
			aReturn[iLen + i] = array2[i];
		return aReturn;
	}

	/**
     * 拆分以逗号分隔的字符串,并存入String数组中
     * 
     * @param sSource
     *            源字符串
     * @return String[]
     */
	public static String[] stringToArray(String sSource)
	{
		return stringToArray(sSource, ",");
	}

	/**
     * 拆分以给定分隔符分隔的字符串,并存入字符串数组中
     * 
     * @param sSource
     *            源字符串
     * @param sChar
     *            分隔符
     * @return String[]
     */
	public static String[] stringToArray(String sSource, String sChar)
	{
		String aReturn[] = null;
		StringTokenizer st = null;
		st = new StringTokenizer(sSource, sChar);
		int i = 0;
		aReturn = new String[st.countTokens()];
		while (st.hasMoreTokens())
		{
			aReturn[i] = st.nextToken();
			i++;
		}
		return aReturn;
	}

	/**
     * 拆分以给定分隔符分隔的字符串,并存入整型数组中
     * 
     * @param sSource
     *            源字符串
     * @param sChar
     *            分隔符
     * @return int[]
     */
	public static int[] stringToArray(String sSource, char sChar)
	{
		return getIntArray(stringToArray(sSource, String.valueOf(sChar)));
	}

	/**
     * 将数组转换成字符串,转换后的字符串首尾不含分隔符,格式如下:a,b,c 。
     * 
     * @param a
     *            int[]
     * @param dot
     *            分隔符,比如: ,
     * @param mark
     *            引号,比如: '
     * @return 字符串
     */
	public static String arrayToString(int a[], String dot, String mark)
	{
		String strReturn = "";
		if (a.length == 0)

			strReturn = "";
		else if (a.length == 1)
			strReturn = mark + a[0] + mark;
		else
		{
			for (int i = 0; i < a.length - 1; i++)
				strReturn = strReturn + mark + String.valueOf(a[i]) + mark + dot;
			strReturn = strReturn + mark + String.valueOf(a[a.length - 1]) + mark;
		}
		return strReturn;
	}

	/**
     * 将数组转换成字符串,转换后的字符串首尾不含分隔符,格式如下:a,b,c 。
     * 
     * @param a
     *            String[]
     * @param dot
     *            分隔符,比如: ,
     * @param mark
     *            引号,比如: '
     * @return 字符串
     */
	public static String arrayToString(String a[], String dot, String mark)
	{
		String strReturn = "";
		if (a.length == 0)
			strReturn = "";
		else if (a.length == 1)
			strReturn = mark + a[0] + mark;
		else
		{
			for (int i = 0; i < a.length - 1; i++)
				strReturn = strReturn + mark + String.valueOf(a[i]) + mark + dot;
			strReturn = strReturn + mark + String.valueOf(a[a.length - 1]) + mark;
		}
		return strReturn;
	}

	/**
     * 删除磁盘上的文件
     * 
     * @param fileName
     *            文件全路径
     * @return boolean
     */
	public static boolean deleteFile(String fileName)
	{
		File file = new File(fileName);
		return file.delete();
	}

	/**
     * 获取点分格式(123,456,789.88)的显示用数据
     * 
     * @param dlSrc
     *            源数值
     * @param bitNum
     *            小数位数
     * @return boolean
     * @throws Exception
     */
	public static String getDecimalAsString(double dlSrc, int bitNum)
	{
		String sSrc = String.valueOf(dlSrc);
		return getDecimalAsString(sSrc, bitNum);
	}

	/**
     * 获取点分格式(123,456,789.88)的显示用数据
     * 
     * @param sSrc
     *            源数值
     * @param bitNum
     *            小数位数
     * @return boolean
     */
	public static String getDecimalAsString(String sSrc, int bitNum)
	{
		String input = "";
		String restr = "";
		String head = "";
		int flag = 0;

		double dl = Double.parseDouble(sSrc);
		BigDecimal bd = new BigDecimal(dl);
		// 对传入的数字四舍五入,小数点后位数
		bd = bd.setScale(bitNum, 5);
		input = String.valueOf(bd).trim();
		int i = input.indexOf('.');
		if (i == -1)
			i = input.length();

		if (input.substring(0, 1).equals("+") || input.substring(0, 1).equals("-"))
		{
			head = input.substring(0, 1);
			flag = 1;
		}

		String inputsub = input.substring(flag, i);
		if (inputsub.length() <= 3)
		{
			restr = input;
			return restr;
		}

		int j = inputsub.length();
		while (j >= 0)
		{
			if (j > 3)
			{
				restr = "," + inputsub.substring(j - 3, j) + restr;
			}
			else
			{
				restr = inputsub.substring(0, j) + restr;
			}
			j = j - 3;
		}

		return head + restr + input.substring(i, input.length());
	}

	/**
     * 判断参数是否为空,为空则返回0,不为空则返回其整型值
     * 
     * @param sSource
     *            源字符串
     * @return 整型数
     */
	public static int getInt(String sSource)
	{
		int iReturn = 0;
		if (sSource != null && !sSource.equals(""))
			iReturn = Integer.parseInt(sSource);
		return iReturn;
	}

	/**
     * 判断参数是否为空,为空则返回"",否则返回其值
     * 
     * @param sSource
     *            源字符串
     * @return 字符串
     */
	public static String getString(String sSource)
	{
		String sReturn = "";
		if (sSource != null)
			sReturn = sSource;
		return sReturn;
	}

	/**
     * 将给定的源字符串加1 例如:“0001” 经本函数转换后返回为“0002”
     * 
     * @param sSource
     *            :源字符串
     * @return 返回字符串
     */
	public static String increaseOne(String sSource)
	{
		String sReturn = null;
		int iSize = 0;

		iSize = sSource.length();

		long l = (new Long(sSource)).longValue();
		l++;
		sReturn = String.valueOf(l);

		for (int i = sReturn.length(); i < iSize; i++)
		{
			sReturn = "0" + sReturn;
		}

		return sReturn;
	}

	/**
     * 将给定的整数转化成字符串, 结果字符串的长度为给定长度,不足位数的左端补"0" (此方法为林伟伟于 2002-10-30 所加)
     * 
     * @param val
     *            val
     * @param len
     *            len
     * @return String
     */
	public static String intToStr(int val, int len)
	{
		String sReturn = new String();

		sReturn = String.valueOf(val);

		if (sReturn.length() < len)
		{
			for (int i = len - sReturn.length(); i > 0; i--)
			{
				sReturn = "0" + sReturn;
			}
		}

		return sReturn;
	}

	/**
     * 将String转换成HTML文本<br>
     * 规则:<br>
     * 1、将其中的\r\n转换为网页中换行<br>
     * 2、将其中某段超过rowLen的文字拆成以每行rowLen字的多行;<br>
     * 3、将其中的空格替换成网页中的空格;<br>
     * 
     * @param str
     *            String 要转换的String
     * @param rowLen
     *            int 每行字数(英文字数[汉字*2])
     * @return String 转换后的String
     */
	public static String stringToHTML(String str, int rowLen)
	{
		StringBuffer newStr = new StringBuffer();
		String aTmp[] = str.split("\r\n");
		for (int i = 0; i < aTmp.length; i++)
		{
			byte aByte[] = aTmp[i].getBytes();

			if (aByte.length <= rowLen)
			{
				newStr.append(aTmp[i] + "<br>");
				continue;
			}

			int sbLen = 0;
			StringBuffer sbTmp = new StringBuffer();
			for (int j = 0; j < aTmp[i].length(); j++)
			{
				String s1 = aTmp[i].substring(j, j + 1);
				int nowLen = s1.getBytes().length;
				sbLen = sbLen + nowLen;

				if (sbLen > rowLen)
				{
					sbTmp.append("<br>" + s1);
					sbLen = nowLen;
				}
				else if (sbLen == rowLen)
				{
					sbTmp.append(s1 + "<br>");
					sbLen = 0;
				}
				else
					sbTmp.append(s1);
			}
			String lastStr = sbTmp.substring(sbTmp.length() - 4);
			if (lastStr.equals("<br>"))
				newStr.append(sbTmp.toString());
			else
				newStr.append(sbTmp.toString() + "<br>");
		}

		return newStr.toString().replaceAll(" ", "&nbsp;");
	}

	/**
     * 将以逗号分隔的字符串里相同的内容去掉。此方法不记忆原字符串顺序。
     * 
     * @param str
     *            String
     * @param mark
     *            String 以此符号分隔
     * @return String
     * @author shantao
     */
	public static String noRepeat(String str, String mark)
	{
		StringTokenizer st = new StringTokenizer(str, mark);
		List lt = new ArrayList();
		StringBuffer sb = new StringBuffer();
		String tmp = null;
		while (st.hasMoreTokens())
		{
			tmp = st.nextToken();
			if (!lt.contains(tmp))
				lt.add(tmp);
		}
		if (!lt.isEmpty())
			sb.append(lt.get(0));
		for (int i = 1; i < lt.size(); i++)
			sb.append(mark + lt.get(i));
		return sb.toString();
	}

	/**
     * 取当前系统日期:YYYYMMDD。
     * 
     * @param
     * @return String
     * @author yufeng
     */
	public static String getSysDate()
	{
		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
		String sTemp = sdf.format(Calendar.getInstance().getTime());
		return sTemp;
	}

	/**
     * 取当前系统日期是星期几
     * 
     * @param
     * @return String 周日--->周六:0--->6
     * @author yufeng
     */
	public static int getWeekNumber()
	{
		int dayOfWeek = Calendar.getInstance().get(Calendar.DAY_OF_WEEK);
		dayOfWeek = dayOfWeek - 1;
		return dayOfWeek;
	}

	/**
     * 取当上周末(五)日期:YYYYMMDD。
     * 
     * @param
     * @return String
     * @author yufeng
     */
	public static String getLastWeekend()
	{
		String lastWeekend = "";
		int dayOfWeek = getWeekNumber();
		String currDate = getSysDate();
		if (dayOfWeek == 0)
		{
			lastWeekend = getNextDateByNum(currDate, -7);
		}
		else if (dayOfWeek == 1)
		{
			lastWeekend = getNextDateByNum(currDate, -1);
		}
		else if (dayOfWeek == 2)
		{
			lastWeekend = getNextDateByNum(currDate, -2);
		}
		else if (dayOfWeek == 3)
		{
			lastWeekend = getNextDateByNum(currDate, -3);
		}
		else if (dayOfWeek == 4)
		{
			lastWeekend = getNextDateByNum(currDate, -4);
		}
		else if (dayOfWeek == 5)
		{

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -