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

📄 urlverifyconfig.java

📁 流媒体服务器防盗链插件
💻 JAVA
字号:
package com.avaw.urlverify.util;

import java.util.*;
import java.io.*;
import org.jdom.input.SAXBuilder;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.xpath.XPath;

/**
 * <p>Title: 读取UrlVerify配置信息</p>
 *
 * <p>Description: URL Verify</p>
 *
 * <p>Copyright: Copyright (c) 2004</p>
 *
 * <p>Company: Avaw urlverify.avaw.com</p>
 *
 * @author madfool@avaw.com
 * @version 1.0
 */
public class UrlVerifyConfig {
  /**
   * 保存Token字符串
   */
  public static Vector Tokens = null;
  public static String ErrorMessage = null;
  /**
   * 初始化设置
   * @param pProps Properties 配置属性
   */
  public static boolean InitProperties(Properties pProps) {
    Properties Props = (Properties )(pProps.clone());  //复制属性
    boolean IsXml = ReadXMLConfig(getVariable(Props,"XMLFile"));
    if (IsXml == false) { //如果使用XML读取配置失败则...
      //使用属性文件中的配置
      Tokens = new Vector();
      String Temp = "";
      for (int i=0; i<100 && Temp != null; i++) {  //最多100个Token
        Temp = getVariable(Props,"Token" + i);
        if (Temp != null) Tokens.add(Temp);
      }
    }
    Props = null;
    return IsXml;
  }
  /**
   * 获取Token个数
   * @return int 返回Token个数
   */
  public static int TokenSize() {
    if (Tokens == null) return 0;
    return Tokens.size();  //返回个数
  }
  /**
   * 获取Token字符串
   * @param ID int 获取的下标
   * @return String 返回指定的Token字符串
   */
  public static String Token(int ID) {
    if (Tokens == null || ID<0 || ID >= Tokens.size()) return null;
    return (String )Tokens.get(ID);
  }
  /**
   * 读取XML配置文件
   */
  private static boolean ReadXMLConfig(String XMLFileName) {
    if (XMLFileName == null) {
      ErrorMessage = "XMLFile Propertie is Null in UrlVerify.properties File";
      return false;
    }
    Tokens = new Vector();
    try {
      SAXBuilder builder = new SAXBuilder();
      Document doc = builder.build(new File(XMLFileName));
      XPath TokensPath = XPath.newInstance("//Tokens");
      List LTokens = TokensPath.selectNodes(doc); //得到Tokens的列表
      Iterator i = LTokens.iterator(); //串行化Tokens列表
      Element EToken = (Element) i.next(); //得到第一个Tokens列表
      List Token = EToken.getChildren("Token"); //得到Token列表
      i = Token.iterator(); //串行化Token列表
      while (i.hasNext()) { //循环处理所有Token
        Tokens.add( ( (Element) i.next()).getText());
      }
      if (Tokens.size() > 0)return true;
    }
    catch (JDOMException e) {
      ErrorMessage = e.getMessage();
      e.printStackTrace();
      Tokens.clear();
    }
    catch (IOException e) {
      ErrorMessage = e.getMessage();
      e.printStackTrace();
      Tokens.clear();
    }
    return false;
  }
  /**
   * 得到设置,从属性文件中
   * @param Props Properties 属性信息类
   * @param VariableName 属性名称
   * @return 返回指定属性的值
   */
  private static String getVariable(Properties Props,String VariableName) {
    if (Props == null) return null;
    String Variable = null;
    Variable = Props.getProperty(VariableName); //返回参数
    if (Variable != null) {
      Variable = Variable.trim();
      while (Variable.endsWith("/") || Variable.endsWith("\\")) {
        Variable = Variable.substring(0, Variable.length() - 1);
      }
    }
    return Variable; //返回参数
  }
}

⌨️ 快捷键说明

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