/** * 获得应用中制定目录中文件的路径 * * @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; }
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; } }