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

📄 publicfunction.java

📁 中国移动CMPP3.0短消息通信程序
💻 JAVA
字号:
package com.pansonlu.common.util;

/**
 * <p>Title: PublicFunction</p>
 * <p>Description: 公用函数</p>
 * <p>Copyright: Copyright (c) 2008</p>
 * <p>Company: Sunrise tech ltd.</p>
 * @author pansonlu
 * @version 1.0
 */
import java.util.Calendar;

public class PublicFunction {
  public PublicFunction() {
  }

  public static String getTimeStamp(){
    Calendar now = Calendar.getInstance();
    String mm = totwo(String.valueOf(now.get(Calendar.MONTH) + 1));
    String dd = totwo(String.valueOf(now.get(Calendar.DAY_OF_MONTH)));
    String hh = totwo(String.valueOf(now.get(Calendar.HOUR_OF_DAY)));
    String ff = totwo(String.valueOf(now.get(Calendar.MINUTE)));
    String ss = totwo(String.valueOf(now.get(Calendar.SECOND)));
    return mm + dd + hh + ff + ss;
  }



  /**
   * 公有方法,将当前时间格式化,格式化为12/12 06:50
   * @return String
   */
  public static String getFormatTime() {
    Calendar now = Calendar.getInstance();
    String year = Integer.toString(now.get(Calendar.YEAR));
    String mon = Integer.toString(now.get(Calendar.MONTH) + 1);
    String day = Integer.toString(now.get(Calendar.DAY_OF_MONTH));
    String hour = Integer.toString(now.get(Calendar.HOUR_OF_DAY));
    String min = Integer.toString(now.get(Calendar.MINUTE));
    String sec = Integer.toString(now.get(Calendar.SECOND));

    mon = (mon.length() == 1) ? "0" + mon : mon;
    day = (day.length() == 1) ? "0" + day : day;
    hour = (hour.length() == 1) ? "0" + hour : hour;
    min = (min.length() == 1) ? "0" + min : min;
    sec = (sec.length() == 1) ? "0" + sec : sec;
    return (mon + "-" + day + " " + hour + ":" + min + ":" + sec);
  }

  /** 当一个字符时转换成两个字符 **/
  private static String totwo(String s){
    if (s.length() < 2) {
      s = "0" + s;
      return s;
    }
    return s;
  }


  /**
   * 接收数据
   * @return byte[]:接收的数据(不包含总共长度)
   *  receivedData  <br>
   *  receivedData[0]=ERROR_SOCKET SOCKET出错<br>
   *  receivedData[0]=ERROR_INTERRUPT SOCKET超时中断<br>
   */
  public static byte[] recv(java.io.DataInputStream dataInStream) throws Exception//接受的数据
  {
    byte[] receivedData;
    try {
      synchronized(dataInStream){
        int dataSize = dataInStream.readInt();

        if( (dataSize<12)||(dataSize > 900) )
        {
          receivedData = new byte[1];
          receivedData[0] = -1;
          return receivedData;
        }
        receivedData = new byte[dataSize - 4];
        int dataTotalSizeToRead = dataSize - 4;
        int dataToReadLeft      = dataSize - 4;
        int dataThisTimeRead;
        while(dataToReadLeft > 0)
        {
          dataThisTimeRead = dataInStream.read(receivedData,
                                               dataTotalSizeToRead - dataToReadLeft,
                                               dataToReadLeft);
          dataToReadLeft  -= dataThisTimeRead;
        }
      }
    }
//    catch(NullPointerException e)
//    {
//      System.out.println("[PublicFunction]接收数据 NullPointerException:"+e.toString());
//      receivedData = new byte[1];
//      receivedData[0] = -1;
//    }
//    catch(java.io.InterruptedIOException e)
//    {
//      System.out.println("[PublicFunction]接收数据 InterruptedIOException:"+e.toString());
//      receivedData = new byte[1];
//      receivedData[0] = -1;
//    }
//    catch(java.io.EOFException e){
//      System.out.println("[PublicFunction]接收数据 EOFException:"+e.toString());
//      receivedData = new byte[1];
//      receivedData[0] = -1;
//    }
    catch(Exception e)
    {
      System.out.println("[PublicFunction]接收数据 Exception:"+e.toString());
      throw e;
    }

    String strDebug = "[Debug]receivedData:size="+receivedData.length+",content=";
    for(int i = 0;i < receivedData.length;i++){
      strDebug += "["+receivedData[i]+"]";
    }
    Debug.outDebug(strDebug);

    return receivedData;
  }


  /**
   * 发送消息包
   * @param sm
   * @return true or false
   */
  public static void send(
      java.io.DataOutputStream dataOutStream,byte[] msgpack) throws Exception{
    try {
      if (msgpack == null) {
        throw new Exception("pack null error");
      }
      if ( (msgpack.length > 900) || (msgpack.length < 12)) {
        throw new Exception("pack length error, length>900 or length<12");
      }
      //同步
      synchronized(dataOutStream){
        dataOutStream.write(msgpack);
        dataOutStream.flush();
      }
      String strDebug = "[Debug]msgpack:size="+msgpack.length+",content=";
      for(int i = 0;i < msgpack.length;i++){
        strDebug += "["+msgpack[i]+"]";
      }
      Debug.outDebug(strDebug);

    }
    catch (Exception ex) {
      throw ex;
    }
  }

  /**
   * 公有方法,线程休眠(单位:微秒)
   * @param miniSec 线程休眠
   */
  public static void sleep(int miniSec) {
    try {
      Thread.sleep(miniSec);
    }
    catch (InterruptedException e) {
      System.out.println("sleep interrupt ." + e.toString());
    }
  }

}

⌨️ 快捷键说明

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