`

StaticData系统静态数据

 
阅读更多

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;

import org.apache.log4j.Logger;

/**
 * 读取和修改配置好的静态数据
 * 〈功能详细描述〉
 * @author    cKF42443
 * @version   V1.00 2012-3-5
 * @since     TopEng CSP V6.0R002 CHF D101
 */
public class StaticData
{
    /** 记录日志*/
    public static final Logger logger = Logger.getLogger(StaticData.class);
   
    private static String ips;
   
    private static final String IPSFILE_NAME = "ips.txt";
   
    private static final String CARFILE_NAME = "carcity.txt";
   
    private static final String CARTYPE_NAME = "cartype.txt";
   
    private static final String LOCTRANSTB_NAME = "loctranstable.txt";
   
    private static final char FILE_SEP = System.getProperty("file.separator")
            .charAt(0);;
           
    private static Map<String, String> carMap = new HashMap<String, String>();
   
    private static Map<String, String> carTypeMap = new HashMap<String, String>();
   
    private static Map<String, String> loctranstbMap = new HashMap<String, String>();
   
    private static String[] ipsArr;
    /**
     * 取得配置好的可以认证的IP
     */
    static
    {
       
        String url = Thread.currentThread()
                .getContextClassLoader()
                .getResource("")
                .getFile();
        File file = new File(url + FILE_SEP + IPSFILE_NAME);
        FileReader fr = null;
        BufferedReader reader = null;
        try
        {
            fr = new FileReader(file);
            reader = new BufferedReader(fr);
            ips = reader.readLine();
            ipsArr = ips.split(";");
        }
        catch (FileNotFoundException e)
        {
            logger.error("取得IP配置出错", e);
        }
        catch (IOException e)
        {
            logger.error("取得IP配置出错", e);
        }
        finally
        {
            try
            {
                fr.close();
            }
            catch (IOException e)
            {
                logger.error("取得IP配置出错", e);
            }
            try
            {
                reader.close();
            }
            catch (IOException e)
            {
                logger.error("取得IP配置出错", e);
            }
    }
    }
   
    /**
     * 取得配置好的车牌和分区的对应关系
     */
    static
    {
        String carurl = Thread.currentThread()
                .getContextClassLoader()
                .getResource("")
                .getFile();
        File carfile = null;
        FileReader carfr = null;
        BufferedReader reader = null;
        try
        {
            carfile = new File(carurl + FILE_SEP + CARFILE_NAME);
            carfr = new FileReader(carfile);
            reader = new BufferedReader(carfr);
            String line = null;
            while ((line = reader.readLine()) != null)
            {
                String[] strs = line.split(" ");
                carMap.put(strs[0].trim(), strs[1].trim());
            }
        }
        catch (FileNotFoundException e)
        {
            logger.error("取得车牌号对应分区设置配置出错", e);
        }
        catch (IOException e)
        {
            logger.error("取得车牌号对应分区设置配置出错", e);
        }
        finally
        {
                try
                {
                    carfr.close();
                }
                catch (IOException e)
                {
                    logger.error("取得车牌号对应分区设置配置出错", e);
                }
                try
                {
                    reader.close();
                }
                catch (IOException e)
                {
                    logger.error("取得车牌号对应分区设置配置出错", e);
                }
        }
    }
    /**
     * 取得车辆类型对应分区设置配置
     */
    static
    {
        String carTypeURL = Thread.currentThread()
                .getContextClassLoader()
                .getResource("")
                .getFile();
        File carfile = null;
        InputStreamReader isr = null;
        BufferedReader reader = null;
        try
        {
            carfile = new File(carTypeURL + FILE_SEP + CARTYPE_NAME);
            isr = new InputStreamReader(new FileInputStream(carfile),"UTF-8");
            reader = new BufferedReader(isr);
            String line = null;
            while ((line = reader.readLine()) != null)
            {
                String[] strs = line.split("~~~");
                carTypeMap.put(strs[0].trim(), strs[1].trim());
            }
        }
        catch (FileNotFoundException e)
        {
            logger.error("取得车辆类型对应分区设置配置出错FileNotFoundException", e);
        }
        catch (IOException e)
        {
            logger.error("取得车辆类型对应分区设置配置出错IOException", e);
        }
        finally
        {
                try
                {
                    isr.close();
                }
                catch (IOException e)
                {
                    logger.error("取得车辆类型对应分区设置配置出错IOException isr", e);
                }
                try
                {
                    reader.close();
                }
                catch (IOException e)
                {
                    logger.error("取得车辆类型对应分区设置配置出错IOException reader", e);
                }
        }
    }
    /**
     * 取得现场违章对应表设置配置
     */
    static
    {
        String locurl = Thread.currentThread()
                .getContextClassLoader()
                .getResource("")
                .getFile();
        File carfile = null;
        FileReader carfr = null;
        BufferedReader reader = null;
        try
        {
            carfile = new File(locurl + FILE_SEP + LOCTRANSTB_NAME);
            carfr = new FileReader(carfile);
            reader = new BufferedReader(carfr);
            String line = null;
            while ((line = reader.readLine()) != null)
            {
                String[] strs = line.split("~~~");
                loctranstbMap.put(strs[0].trim(), strs[1].trim());
            }
        }
        catch (FileNotFoundException e)
        {
            logger.error("取得现场违章对应表设置配置出错 FileNotFoundException", e);
        }
        catch (IOException e)
        {
            logger.error("取得现场违章对应表设置配置出错 IOException ", e);
        }
        finally
        {
                try
                {
                    carfr.close();
                }
                catch (IOException e)
                {
                    logger.error("取得现场违章对应表设置配置出错", e);
                }
                try
                {
                    reader.close();
                }
                catch (IOException e)
                {
                    logger.error("取得现场违章对应表设置配置出错", e);
                }
        }
    }
    /**
     *
     * 修改认证IP
     * @param cips 需改后的IP列表
     * [违例说明:异常的注释必须说明该异常的含义及什么条件下抛出该
     */
    public static void channge(String cips)
    {
        String url = Thread.currentThread()
                .getContextClassLoader()
                .getResource("")
                .getFile();
        File file = new File(url + FILE_SEP + IPSFILE_NAME);
        FileWriter fw = null;
        BufferedWriter bw = null;
        try
        {
            fw = new FileWriter(file);
            bw = new BufferedWriter(fw);
            bw.write(cips);
            bw.flush();
            ips = cips;
        }
        catch (IOException e)
        {
            logger.error("修改IP出错", e);
        }
        finally
        {
            try
            {
                bw.close();
            }
            catch (IOException e)
            {
                logger.error("修改IP出错", e);
            }
            try
            {
                fw.close();
            }
            catch (IOException e)
            {
                logger.error("修改IP出错", e);
            }
    }
    }
   
    /**
     *
     * 取得认证IP
     * @return String
     * [违例说明:异常的注释必须说明该异常的含义及什么条件下抛出该
     */
    public static String getIps()
    {
        return ips;
    }
   
    /**
     *
     * 取得认证IP
     * @return String
     * [违例说明:异常的注释必须说明该异常的含义及什么条件下抛出该
     */
    public static String[] getIpArr()
    {
        return ipsArr;
    }
   
   
    /**
     *
     * 取得车牌号对应的分区
     * @return Map<String, String>
     * [违例说明:异常的注释必须说明该异常的含义及什么条件下抛出该
     */
    public static Map<String, String> getCarCity()
    {
        return carMap;
    }
    /**
     *
     * 取得车辆类型
     * @return Map<String, String>
     * [违例说明:异常的注释必须说明该异常的含义及什么条件下抛出该
     */
    public static Map<String, String> getCarType()
    {
        return carTypeMap;
    }
    /**
     *
     * 取得现场违章表
     * @return Map<String, String>
     * [违例说明:异常的注释必须说明该异常的含义及什么条件下抛出该
     */
    public static Map<String, String> getLocTransTbMap()
    {
        return loctranstbMap;
    }
    /**
     *
     * 取得车牌号对应的分区
     * @param car 车牌号的第二位
     * @return String
     * [违例说明:异常的注释必须说明该异常的含义及什么条件下抛出该
     */
    public static String setPartition(String car)
    {
        String partition = getCarCity().get(car);
        return partition != null ? partition : "PDEFAULT";
    }
    /**
     *
     * 取得现场违章对应表
     * @param idcardno 身份证号前四位
     * @return String
     * [违例说明:异常的注释必须说明该异常的含义及什么条件下抛出该
     */
    public static String setLocTransTb(String idcardno)
    {
        String tb = getLocTransTbMap().get(idcardno);
        return tb != null ? tb : getLocTransTbMap().get("default");
    }
}

分享到:
评论

相关推荐

    软件测试质量保证:实验一 Testbed静态测试实验

    (1)启动Testbed,在File菜单下选择Select File选项...(8)双击函数节点名称进入静态数据流图。 (9)点击菜单Options,选择Add Annotations添加节点名称。 (10)右键点击控制流图中节点在弹出菜单中选择Annotated Procedure

    一种以本体论为媒介的分析感知方法来支持对静态数据和流数据的监视和诊断-研究论文

    在许多工业场景中(包括工业物联网的情况下,需要将异构的分布式分布式流和静态数据进行集成和聚合)的流分析是一项典型的任务,在该工业物联网中,将多个工业设备(例如,西门子的涡轮机)集成到了物联网中。...

    毕业设计项目-基于Spark网易云音乐数据分析系统源码+项目说明(含爬虫).zip

    statistical-static-txt SparkSQL相关关联静态数据 ``分析内容`` 1.图计算 2.机器学习预测歌曲分类 3.评论词云 4.评论时间段 5.评论top榜 6.热歌top榜 7.用户性别比例 8.用户星座比例 9.用户年龄比例 10...

    基于java的敬老院运营管理系统设计与实现.doc

    分析设计了敬老院运营管理系统 的静态模型和动态模型,完成了系统开发的分析、设计和实现的工作。本敬老院运营管 理系统通过Web方式完成用户与系统的交互,系统的功能模块具体有对老人的,入住,协 议,收费,日常...

    毕业设计基于Fasttext的中文医疗问答系统python源码+运行说明+中文医疗对话数据集.zip

    - static中存放网页相关的静态文件 - 其他文件均为 Django框架生成或依赖的文件 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:...

    java8rt.jar源码-WALA-improve:学习WALA和静态代码分析。本项目介绍所需知识和学习路线图

    数据流分析是一种程序静态分析技术,它能从程序代码中收集程序的语义信息,并通过代数的方法确定变量的定义和使用。通过数据流分析,可以不必实际运行程序就能 够发现程序运行行为方面的特性,这样可以帮助人们理解程序...

    基于单片机的水箱控制系统的设计.doc

    单片机是测量系统数据交换的中心,该系统采用的是80C51单片机,全静态工作 时振荡器频率为0~12MHz。水箱的控制器由8051系统构成。为避免电机的起停和电源波 动时对电路的影响,输入输出均采用光电隔离。光电隔离是...

    基于yolov5的细胞检测系统

    细胞检测系统 ...static:静态文件 runs/detect:预测结果默认保存路径 runs/train:训练结果默认保存路径 test_images:测试图片 注:本项目在yolov5源码基础上进行开发,部分文件为yolo默认配置文件

    JStap:模块化静态恶意JavaScript检测系统

    概括JStap是一个模块化的静态恶意JavaScript检测系统。 我们的检测器由十个模块组成,包括五种不同的抽象代码方式(即令牌,抽象语法树(AST),控制流图(CFG),仅考虑数据流的程序依赖图(PDG-DFG)和PDG),以及...

    duvernay_geomech_model:机器学习资料库,用于分析Duvernay中的地质力学数据

    / data文件夹中的数据是来自盆地的经过解释的地质力学测试的消毒版本。 本着对操作员和数据提供者公平的精神,进行了位置和井眼识别(这些测试非常昂贵)。 测试包括: 巴西测试(brazilian_tests.csv) 无限制抗...

    mtleg-2019-guide:蒙大拿州自由出版社代码2019立法指南,https:apps.montanafreepress.orgtrack-mtleg-2019

    /data-static静态数据输入(手工编制的立法名册) /data-processed数据文件超出处理步骤请注意,最好将前端回购与抓取/数据管理完全分开。指令通过刮取来获取数据npm run scrape或docker-compose run --rm scrape ...

    基于Django,keras,axios, echats的智能股票分析系统源码+文档(集成LSTM的实践序列预测算法).zip

    &gt; - static:存放系统各种静态资源(js,css) &gt; - templates:存放前端html页面 &gt; - stockList.html:主页,展示所有股票的列表 &gt; - stockDetail.html:股票详情页,展示股票的详细信息 &gt; - stockSinglePredict....

    114啦网站导航

    5.进入管理后台系统管理&gt;&gt;&gt;数据管理&gt;&gt;&gt;数据导入 6. 进入管理后台系统管理&gt;&gt;&gt;资料设置&gt;&gt;&gt;设置站点的相关资料&gt;&gt;&gt;然后转到&gt;&gt;&gt;静态生成&gt;&gt;&gt;一键生成全站。 7. 完成安装! 特别注意: 1、 建议将“后台管理系统”的...

    25vv网址导航 清爽版 v2.0.rar

    5.进入管理后台系统管理&gt;&gt;&gt;数据管理&gt;&gt;&gt;数据导入 6. 进入管理后台系统管理&gt;&gt;&gt;资料设置&gt;&gt;&gt;设置站点的相关资料&gt;&gt;&gt;然后转到&gt;&gt;&gt;静态生成&gt;&gt;&gt;一键生成全站。 7. 完成安装! 特别注意: 1、 建议将“后台管理系统”的...

    NetDB远程数据库支持库 (2.0#2版)

    本库为一般支持库,为易语言开发环境插件支持库,需要易系统3.0版本的支持,需要系统核心支持库3.0版本的支持,提供了6种库定义数据类型,提供了123种命令,提供了74个库定义常量。 ******网盘更新地址:...

    iclr.github.io

    网站数据文件yaml / json sitedata/ HTML模板文件templates/pages 测试 bash run.sh or sh run.sh 对于启动服务器=&gt;转到 制作静态页面 bash freeze.sh or sh freeze.sh 将静态页面放入build/ 代码 代码全部在main....

    全局变量与局部变量在内存中的区别详细解析

    3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域(.data),未初始化的全局变量和未初始化的静态变量在相邻的另一块区域(.bss)。 – 程序结束后由系统...

    【05-面向对象(下)】

    •当在非静态内部类的方法内访问某个变量时,系统优先在该方法内查找是否存在该名字的局部变量,如果存在该 名字的局部变量,就使用该变量,如果不存在,则到该方法所在的内部类中查找是否存在该名字的属性,如果...

    rfid:rfid资产管理系统服务器

    建议, base/static目录下只放自定义静态文件 生产环境部属时,使用collectstatic收集至project根目录下的static目录里即可。 $ python manage.py collectstatic 编码规范 遵守PEP8规范。例外: settings.py报...

    revdol-mirror:战斗吧歌姬小程序附加站前端原始码

    将帖子数据中的所有文件夹(目前包括data,static),和前端二进制放在一起作为静态文件提供服务即可。(要放在静态文件目录的根上,也就是和index.html平级) 关于本项目 请在,点进去之后进行阅读。 意见建议/联系...

Global site tag (gtag.js) - Google Analytics