Esempio n. 1
0
 /**
  * 获得应用中制定目录中文件的路径
  *
  * @param servletContStriext
  * @param _dir:文件存放的目录
  * @return
  */
 public static String getServerFilePath(ServletContext servletContext, String _dir) {
   //		String filePath = servletContStriext.getRealPath("/");
   String path = null;
   if (ServerDetector.isTomcat()) { // tomcat server
     path = servletContext.getRealPath("/") + _dir + "/";
   } else if (ServerDetector.isWebLogic()) { // weblogic server
     path = servletContext.getRealPath("/") + "\\" + _dir + "\\";
   }
   return path;
 }
Esempio n. 2
0
  private static long _parseLong(String value, long defaultValue) {
    if (_useJDKParseLong == null) {
      if (OSDetector.isAIX()
          && ServerDetector.isWebSphere()
          && JavaDetector.isIBM()
          && JavaDetector.is64bit()) {

        _useJDKParseLong = Boolean.TRUE;
      } else {
        _useJDKParseLong = Boolean.FALSE;
      }
    }

    if (_useJDKParseLong) {
      try {
        return Long.parseLong(value);
      } catch (NumberFormatException nfe) {
        return defaultValue;
      }
    }

    int length = value.length();

    if (length <= 0) {
      return defaultValue;
    }

    int pos = 0;
    long limit = -Long.MAX_VALUE;
    boolean negative = false;

    char c = value.charAt(0);

    if (c < CharPool.NUMBER_0) {
      if (c == CharPool.MINUS) {
        limit = Long.MIN_VALUE;
        negative = true;
      } else if (c != CharPool.PLUS) {
        return defaultValue;
      }

      if (length == 1) {
        return defaultValue;
      }

      pos++;
    }

    long smallLimit = limit / 10;

    long result = 0;

    while (pos < length) {
      if (result < smallLimit) {
        return defaultValue;
      }

      c = value.charAt(pos++);

      if ((c < CharPool.NUMBER_0) || (c > CharPool.NUMBER_9)) {
        return defaultValue;
      }

      int number = c - CharPool.NUMBER_0;

      result *= 10;

      if (result < (limit + number)) {
        return defaultValue;
      }

      result -= number;
    }

    if (negative) {
      return result;
    } else {
      return -result;
    }
  }