ds.java
上传用户:yuyunping
上传日期:2013-03-21
资源大小:1844k
文件大小:9k
源码类别:

Java书籍

开发平台:

Java

  1. package net;
  2. import java.util.*;
  3. import java.text.*;
  4. import java.lang.*;
  5. import sun.io.*;
  6. public class ds
  7. {
  8. public static long makeID ( int uid )
  9. {
  10. //用户占5位
  11. uid += 10000 ;
  12. //时间占9位:秒,去掉第一位
  13. java.util.Date time = new java.util.Date();
  14. long second = time.getTime() / 1000 ;
  15. String str = second + "" ;
  16. str = str.substring(1,str.length());
  17. //群发占5位
  18. str = uid + str + 10000 ;
  19.           
  20. return Long.parseLong(str);
  21. }
  22. /**把null转化为""*/
  23. public static String toString(String str)
  24. {
  25. if(str==null)str = "";
  26. if(str.equals("null"))str = "";
  27. str = str.trim();
  28. return str;
  29. }
  30. /**转换编码*/
  31. public static String toGBK(String str)
  32. {
  33. try 
  34. {
  35. if(str==null)
  36. str = "";
  37. else
  38. str=new String(str.getBytes("ISO-8859-1"),"GBK"); 
  39. }catch (Exception e) {System.out.println("DealString::toGBK(String)运行时出错:错误为:"+e);}
  40. return str;
  41. }
  42. public static String toMKByte(int size)
  43. {
  44. if(size>(1024*1024)){return ((float)size/(1024*1024)+"").substring(0,4)+"MB";}
  45. else if(size>1024){return ((float)size/1024+"").substring(0,4)+"KB";}
  46. else return size+"B";
  47. }
  48. /**UTF8*/
  49. public static String toUtf8String(String src)
  50. {
  51. byte[] b = src.getBytes();
  52. char[] c = new char[b.length];
  53. for(int i=0;i<b.length;i++)
  54. {
  55. c[i] = (char)(b[i]&0x00FF);
  56. }
  57. return new String(c);
  58. }
  59. public static String toASCII(String str)
  60. {
  61. try 
  62. {
  63. if(str==null)
  64. str = "";
  65. else 
  66. str=new String(str.getBytes("GBK"),"ISO-8859-1"); 
  67. }catch (Exception e) {System.out.println("DealString::toGBK(String)运行时出错:错误为:"+e);}
  68. return str;
  69. }
  70. /**分割字符串*/
  71. public static String[] splitStr(String str,char c)
  72. {
  73. str+=c;
  74. int n=0;
  75. for(int i=0;i<str.length();i++)
  76. {
  77. if(str.charAt(i)==c)n++;
  78. }
  79. String out[] = new String[n];
  80. for(int i=0;i<n;i++)
  81. {
  82. int index = str.indexOf(c);
  83. out[i] = str.substring(0,index);
  84. str = str.substring(index+1,str.length());
  85. }
  86. return out;
  87. }
  88. /**取得系统时间*/
  89. public static String getDateTime()
  90. {
  91. java.text.SimpleDateFormat f = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  92. String time = f.format(new java.util.Date());
  93. return time;
  94. }
  95. /**替换字符串*/
  96. public static String Replace(String source, String oldString, String newString)
  97.        StringBuffer output = new StringBuffer(); 
  98.        int lengthOfSource = source.length();   // 源字符串长度 
  99.        int lengthOfOld = oldString.length();   // 老字符串长度 
  100.        int posStart = 0;   // 开始搜索位置 
  101.        int pos;            // 搜索到老字符串的位置 
  102.        while ((pos = source.indexOf(oldString, posStart)) >= 0) { 
  103.            output.append(source.substring(posStart, pos)); 
  104.            output.append(newString); 
  105.            posStart = pos + lengthOfOld; 
  106.        } 
  107.        if (posStart < lengthOfSource) { 
  108.            output.append(source.substring(posStart)); 
  109.        } 
  110.        return output.toString(); 
  111. }
  112. /**取得两个日期的天数之差*/
  113. public static long getDaysInterval(Date d1,Date d2)
  114. {
  115. return (d2.getTime()-d1.getTime())/86400000;
  116. }
  117. /**将字符串格式化为固定长度*/
  118. public static String toLengthStr(String instr,int len)
  119. {
  120. int n = instr.length();
  121. for(int i=0;i<(len-n);i++)
  122. {
  123. instr = " "+instr;
  124. }
  125. return instr;
  126. }
  127. /**将字符串格式化为固定长度(右边补空格)*/
  128. public static String toLengthStrRight(String instr,int len)
  129. {
  130. int n = instr.length();
  131. for(int i=0;i<(len-n);i++)
  132. {
  133. instr = instr+" ";
  134. }
  135. return instr;
  136. }
  137. /*ASCII转化为字符串*/
  138. public static String AsciiToChineseString(String s) 
  139. {
  140. char[] orig = s.toCharArray();
  141. byte[] dest = new byte[orig.length];
  142. for (int i=0;i<orig.length;i++)
  143. dest[i] = (byte)(orig[i]&0xFF);
  144. try 
  145. {
  146. ByteToCharConverter toChar = ByteToCharConverter.getConverter("gb2312");
  147. return new String(toChar.convertAll(dest));
  148. }
  149. catch (Exception e) 
  150. {
  151. System.out.println("DealString::AsciiToChineseString(String)运行时出错;错误为:"+e);
  152. return s;
  153. }
  154. }
  155. /**字符串转化为ASCII*/
  156. public static String ChineseStringToAscii(String s) 
  157. {
  158. try 
  159. {
  160. CharToByteConverter toByte = CharToByteConverter.getConverter("gb2312");
  161. byte[] orig = toByte.convertAll(s.toCharArray());
  162. char[] dest = new char[orig.length];
  163. for (int i=0;i<orig.length;i++)
  164. dest[i] = (char)(orig[i] & 0xFF);
  165. return new String(dest);
  166. }
  167. catch (Exception e) 
  168. {
  169. System.out.println("DealString::ChineseStringToAscii(String)运行时出错:"+e);
  170. return s;
  171. }
  172. }
  173. /**Unicode转化成GB的源码*/
  174. public static String UnicodetoGB(String s)  
  175. {  
  176. StringBuffer  sb  =  new  StringBuffer();  
  177. boolean  escape  =  false;  
  178. for(int  i=0;  i<s.length();  i++)  
  179. {  
  180. char  c  =  s.charAt(i);  
  181. switch  (c)  
  182. {  
  183. case  '\': escape = true; break;  
  184. case  'u':  
  185. case  'U':  
  186. if(escape)  
  187. {  
  188. try  
  189. {  
  190.  sb.append((char)Integer.parseInt(s.substring(i+1,i+5),16));  
  191.  escape  =  false;  
  192. }  
  193. catch(NumberFormatException e)  
  194. {  System.out.println("DealString::UnicodetoGB(String)运行时出错:"+e+"并抛出新的IllegalArgumentException异常.");
  195.  throw new IllegalArgumentException();  
  196. }  
  197. i += 4;  
  198. }  
  199. else  
  200. {    
  201. sb.append(c);  
  202. }  
  203. break;  
  204. default:sb.append(c); break;
  205. }  
  206. return  sb.toString();  
  207. /*将str中重复的去掉*/
  208. public static String strDistinct(String str)
  209. {
  210. String[] strArr=str.split(",");
  211. String   strAim = ",";
  212. for(int i=0;i<strArr.length;i++)
  213. {
  214. if(strArr[i].equals(""))
  215. continue;
  216. if (strAim.indexOf(","+strArr[i]+",")==-1)
  217. {
  218. strAim = strAim + strArr[i] + ",";
  219. }
  220. }
  221. if(!strAim.equals(","))
  222. strAim = strAim.substring(1,strAim.length()-1);
  223. else strAim = "";
  224. return strAim;
  225. }
  226. /**字符转化为ASCII*/
  227. public static int toASCII(char c)
  228. {
  229. int i = c;
  230. return i;
  231. }
  232. /**取得字符字节长度*/
  233. public static int byteLength(String str)
  234. {
  235. return ((str.getBytes()).length);
  236. }
  237. /**取得字符串从头开始指定长度子串*/
  238. public static String strByteCopy(String str,int nEnd)
  239. {
  240. if(nEnd==0)
  241. return "";
  242. byte[] byteStr=str.getBytes();
  243. int k=byteStr.length;
  244. String strSub=new String(byteStr,0,nEnd<k?nEnd:k);
  245. if (strSub.length()==0) strSub=new String(byteStr,0,nEnd-1);
  246. return strSub;
  247. }
  248.         public static boolean strMatch(String motherStr,String childStr)
  249.         {
  250.           boolean matched=false;
  251.           int mLength=motherStr.length();
  252.           int cLength=childStr.length();
  253.           int starWith;
  254.           if(mLength>=cLength){
  255.             starWith=mLength-cLength;
  256.             for(int i=0;i<=starWith;i++){
  257.               matched=motherStr.startsWith(childStr,i);
  258.               if(matched)break;
  259.             }
  260.           }
  261.           return matched;
  262.         }
  263. /*
  264. //把字符串转化为以UTF8编码
  265. public static static String toUtf8String(String s) {
  266.                  StringBuffer sb = new StringBuffer();
  267.                  for (int i=0;i<s.length();i++) {
  268.                    char c = s.charAt(i);
  269.                    if (c >= 0 && c <= 255) {
  270.                      sb.append(c);
  271.                    }
  272.                    else {
  273.                      byte[] b;
  274.                      try {
  275.                        b = Character.toString(c).getBytes("utf-8");
  276.                      }
  277.                      catch (Exception ex) {
  278.                        System.out.println(ex);
  279.                        b = new byte[0];
  280.                      }
  281.                      for (int j = 0; j < b.length; j++) {
  282.                        int k = b[j];
  283.                        if (k < 0)
  284.                          k += 256;
  285.                        sb.append("%" + Integer.toHexString(k).
  286.                                  toUpperCase());
  287.                      }
  288.                    }
  289.                  }
  290.                  return sb.toString();
  291.        }
  292. */
  293. public static Vector simplify(String[] str){
  294. Vector vect = new Vector();
  295. for(int i=0;i<str.length;i++)
  296. vect.add(str[i]);
  297. for(int i=0;i<vect.size();i++){
  298. String[] s1 = ((String)vect.get(i)).split("_");
  299. for(int j=i+1;j<vect.size();){
  300. boolean out = true;
  301. String[] s2 = ((String)vect.get(j)).split("_");
  302. for(int k=0;k<s1.length;k++){
  303. if(!s1[k].equals(s2[k])&&!s1[k].equals("0")){
  304. out = false;
  305. break;
  306. }
  307. }
  308. if(out)
  309. vect.remove(j);
  310. else
  311. j++;
  312. }
  313. }
  314. return vect;
  315. }
  316. public static Vector simplify(Vector vstr){
  317. Vector vect = new Vector();
  318. for(int i=0;i<vstr.size();i++)
  319. vect.add(vstr.get(i));
  320. for(int i=0;i<vect.size();i++){
  321. String[] s1 = ((String)vect.get(i)).split("_");
  322. for(int j=i+1;j<vect.size();){
  323. boolean out = true;
  324. String[] s2 = ((String)vect.get(j)).split("_");
  325. for(int k=0;k<s1.length;k++){
  326. if(!s1[k].equals(s2[k])&&!s1[k].equals("0")){
  327. out = false;
  328. break;
  329. }
  330. }
  331. if(out)
  332. vect.remove(j);
  333. else
  334. j++;
  335. }
  336. }
  337. return vect;
  338. }
  339. public static void main(String args[]) throws Exception
  340. {
  341. System.out.println(ds.makeID(2345));
  342. }
  343. };