ds.java
上传用户:yuyunping
上传日期:2013-03-21
资源大小:1844k
文件大小:9k
- package net;
- import java.util.*;
- import java.text.*;
- import java.lang.*;
- import sun.io.*;
- public class ds
- {
- public static long makeID ( int uid )
- {
- //用户占5位
- uid += 10000 ;
-
- //时间占9位:秒,去掉第一位
- java.util.Date time = new java.util.Date();
- long second = time.getTime() / 1000 ;
- String str = second + "" ;
- str = str.substring(1,str.length());
- //群发占5位
- str = uid + str + 10000 ;
-
- return Long.parseLong(str);
- }
- /**把null转化为""*/
- public static String toString(String str)
- {
- if(str==null)str = "";
- if(str.equals("null"))str = "";
- str = str.trim();
- return str;
- }
- /**转换编码*/
- public static String toGBK(String str)
- {
- try
- {
- if(str==null)
- str = "";
- else
- str=new String(str.getBytes("ISO-8859-1"),"GBK");
- }catch (Exception e) {System.out.println("DealString::toGBK(String)运行时出错:错误为:"+e);}
- return str;
- }
- public static String toMKByte(int size)
- {
- if(size>(1024*1024)){return ((float)size/(1024*1024)+"").substring(0,4)+"MB";}
- else if(size>1024){return ((float)size/1024+"").substring(0,4)+"KB";}
- else return size+"B";
- }
- /**UTF8*/
- public static String toUtf8String(String src)
- {
- byte[] b = src.getBytes();
- char[] c = new char[b.length];
- for(int i=0;i<b.length;i++)
- {
- c[i] = (char)(b[i]&0x00FF);
- }
- return new String(c);
- }
- public static String toASCII(String str)
- {
- try
- {
- if(str==null)
- str = "";
- else
- str=new String(str.getBytes("GBK"),"ISO-8859-1");
- }catch (Exception e) {System.out.println("DealString::toGBK(String)运行时出错:错误为:"+e);}
- return str;
- }
- /**分割字符串*/
- public static String[] splitStr(String str,char c)
- {
- str+=c;
- int n=0;
- for(int i=0;i<str.length();i++)
- {
- if(str.charAt(i)==c)n++;
- }
- String out[] = new String[n];
- for(int i=0;i<n;i++)
- {
- int index = str.indexOf(c);
- out[i] = str.substring(0,index);
- str = str.substring(index+1,str.length());
- }
- return out;
- }
- /**取得系统时间*/
- public static String getDateTime()
- {
- java.text.SimpleDateFormat f = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String time = f.format(new java.util.Date());
- return time;
- }
- /**替换字符串*/
- public static String Replace(String source, String oldString, String newString)
- {
- StringBuffer output = new StringBuffer();
- int lengthOfSource = source.length(); // 源字符串长度
- int lengthOfOld = oldString.length(); // 老字符串长度
- int posStart = 0; // 开始搜索位置
- int pos; // 搜索到老字符串的位置
- while ((pos = source.indexOf(oldString, posStart)) >= 0) {
- output.append(source.substring(posStart, pos));
- output.append(newString);
- posStart = pos + lengthOfOld;
- }
- if (posStart < lengthOfSource) {
- output.append(source.substring(posStart));
- }
- return output.toString();
- }
- /**取得两个日期的天数之差*/
- public static long getDaysInterval(Date d1,Date d2)
- {
- return (d2.getTime()-d1.getTime())/86400000;
- }
-
- /**将字符串格式化为固定长度*/
- public static String toLengthStr(String instr,int len)
- {
- int n = instr.length();
- for(int i=0;i<(len-n);i++)
- {
- instr = " "+instr;
- }
- return instr;
- }
- /**将字符串格式化为固定长度(右边补空格)*/
- public static String toLengthStrRight(String instr,int len)
- {
- int n = instr.length();
- for(int i=0;i<(len-n);i++)
- {
- instr = instr+" ";
- }
- return instr;
- }
- /*ASCII转化为字符串*/
- public static String AsciiToChineseString(String s)
- {
- char[] orig = s.toCharArray();
- byte[] dest = new byte[orig.length];
- for (int i=0;i<orig.length;i++)
- dest[i] = (byte)(orig[i]&0xFF);
- try
- {
- ByteToCharConverter toChar = ByteToCharConverter.getConverter("gb2312");
- return new String(toChar.convertAll(dest));
- }
- catch (Exception e)
- {
- System.out.println("DealString::AsciiToChineseString(String)运行时出错;错误为:"+e);
- return s;
- }
- }
- /**字符串转化为ASCII*/
- public static String ChineseStringToAscii(String s)
- {
- try
- {
- CharToByteConverter toByte = CharToByteConverter.getConverter("gb2312");
- byte[] orig = toByte.convertAll(s.toCharArray());
- char[] dest = new char[orig.length];
- for (int i=0;i<orig.length;i++)
- dest[i] = (char)(orig[i] & 0xFF);
- return new String(dest);
- }
- catch (Exception e)
- {
- System.out.println("DealString::ChineseStringToAscii(String)运行时出错:"+e);
- return s;
- }
- }
-
- /**Unicode转化成GB的源码*/
- public static String UnicodetoGB(String s)
- {
- StringBuffer sb = new StringBuffer();
- boolean escape = false;
- for(int i=0; i<s.length(); i++)
- {
- char c = s.charAt(i);
- switch (c)
- {
- case '\': escape = true; break;
- case 'u':
- case 'U':
- if(escape)
- {
- try
- {
- sb.append((char)Integer.parseInt(s.substring(i+1,i+5),16));
- escape = false;
- }
- catch(NumberFormatException e)
- { System.out.println("DealString::UnicodetoGB(String)运行时出错:"+e+"并抛出新的IllegalArgumentException异常.");
- throw new IllegalArgumentException();
- }
- i += 4;
- }
- else
- {
- sb.append(c);
- }
- break;
- default:sb.append(c); break;
- }
- }
- return sb.toString();
- }
- /*将str中重复的去掉*/
- public static String strDistinct(String str)
- {
- String[] strArr=str.split(",");
- String strAim = ",";
- for(int i=0;i<strArr.length;i++)
- {
- if(strArr[i].equals(""))
- continue;
- if (strAim.indexOf(","+strArr[i]+",")==-1)
- {
- strAim = strAim + strArr[i] + ",";
- }
- }
- if(!strAim.equals(","))
- strAim = strAim.substring(1,strAim.length()-1);
- else strAim = "";
- return strAim;
- }
- /**字符转化为ASCII*/
- public static int toASCII(char c)
- {
- int i = c;
- return i;
- }
- /**取得字符字节长度*/
- public static int byteLength(String str)
- {
- return ((str.getBytes()).length);
- }
- /**取得字符串从头开始指定长度子串*/
- public static String strByteCopy(String str,int nEnd)
- {
- if(nEnd==0)
- return "";
- byte[] byteStr=str.getBytes();
- int k=byteStr.length;
- String strSub=new String(byteStr,0,nEnd<k?nEnd:k);
- if (strSub.length()==0) strSub=new String(byteStr,0,nEnd-1);
- return strSub;
- }
- public static boolean strMatch(String motherStr,String childStr)
- {
- boolean matched=false;
- int mLength=motherStr.length();
- int cLength=childStr.length();
- int starWith;
- if(mLength>=cLength){
- starWith=mLength-cLength;
- for(int i=0;i<=starWith;i++){
- matched=motherStr.startsWith(childStr,i);
- if(matched)break;
- }
- }
- return matched;
- }
- /*
- //把字符串转化为以UTF8编码
- public static static String toUtf8String(String s) {
- StringBuffer sb = new StringBuffer();
- for (int i=0;i<s.length();i++) {
- char c = s.charAt(i);
- if (c >= 0 && c <= 255) {
- sb.append(c);
- }
- else {
- byte[] b;
- try {
- b = Character.toString(c).getBytes("utf-8");
- }
- catch (Exception ex) {
- System.out.println(ex);
- b = new byte[0];
- }
- for (int j = 0; j < b.length; j++) {
- int k = b[j];
- if (k < 0)
- k += 256;
- sb.append("%" + Integer.toHexString(k).
- toUpperCase());
- }
- }
- }
- return sb.toString();
- }
- */
- public static Vector simplify(String[] str){
- Vector vect = new Vector();
- for(int i=0;i<str.length;i++)
- vect.add(str[i]);
- for(int i=0;i<vect.size();i++){
- String[] s1 = ((String)vect.get(i)).split("_");
- for(int j=i+1;j<vect.size();){
- boolean out = true;
- String[] s2 = ((String)vect.get(j)).split("_");
- for(int k=0;k<s1.length;k++){
- if(!s1[k].equals(s2[k])&&!s1[k].equals("0")){
- out = false;
- break;
- }
- }
- if(out)
- vect.remove(j);
- else
- j++;
- }
- }
- return vect;
- }
- public static Vector simplify(Vector vstr){
- Vector vect = new Vector();
- for(int i=0;i<vstr.size();i++)
- vect.add(vstr.get(i));
- for(int i=0;i<vect.size();i++){
- String[] s1 = ((String)vect.get(i)).split("_");
- for(int j=i+1;j<vect.size();){
- boolean out = true;
- String[] s2 = ((String)vect.get(j)).split("_");
- for(int k=0;k<s1.length;k++){
- if(!s1[k].equals(s2[k])&&!s1[k].equals("0")){
- out = false;
- break;
- }
- }
- if(out)
- vect.remove(j);
- else
- j++;
- }
- }
- return vect;
- }
-
- public static void main(String args[]) throws Exception
- {
- System.out.println(ds.makeID(2345));
- }
- };