- 浏览: 45251 次
- 性别:
- 来自: 郑州
文章分类
最新评论
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");
}
}
发表评论
-
并发控制实现工具类
2015-03-05 14:36 410import java.util.Random;import ... -
apache shiro与spring整合、动态filterChainDefinitions、以及认证、授权
2014-10-15 08:37 1519pache shiro是一个安全认 ... -
StaticData系统静态数据
2015-03-05 14:56 590import java.io.BufferedReader; ... -
linux jdk|tomcat脚本
2012-11-30 15:01 9941.用户信息 /etc/passwd lishoubin: ... -
字符流与字节流的区别
2009-08-28 17:01 691Java 流在处理上分为字符流和字节流。字符流处理的单元为 2 ... -
DispatchAction,LookupDispatchAction,MappingDispatchAction
2011-02-15 10:42 715DispatchAction,LookupDispatchAc ... -
strust1.x的jar包
2011-02-24 09:32 442struts框架中必须要加的包: commons-be ... -
strust1.x的jar包
2011-02-24 09:32 479struts框架中必须要加的包: commons-be ... -
strust1.x的jar包
2011-02-24 09:32 568struts框架中必须要加的包: commons-be ... -
strust1.x的jar包
2011-02-24 09:32 684struts框架中必须要加的包: commons-be ... -
strtus spring hibernate ssh面试内容总结
2011-02-24 11:07 7161. Struts的工作原理 ... -
转发和重定向的区别
2011-02-25 13:50 730转发和重定向的区别 不要仅仅为了把变量传到下一个页面而使用 ... -
时间js
2011-03-11 16:19 484<title>时间</title> ... -
Button的点击事件
2011-03-17 11:26 765Button的点击事件 Android1.5测试通过 修改 ... -
java 实现局域网 上网代理
2011-03-17 15:19 4971.设置java环境 2.编译下面的类 3.运行.clas ... -
java 实现局域网 上网代理
2011-03-17 15:19 6481.设置java环境 2.编译下面的类 3.运行.clas ... -
锁表头
2011-09-14 14:40 576<div class="lockContain ... -
项目管理
2011-11-22 14:51 692项目管理文件夹 1.需求 2.项目管理 3.设计 4. ... -
iBatis动态生成列在执行查询时报列名无效
2011-11-22 16:23 1047iBatis会自动缓存每条查询语句的列名映射,所有如果你动 ... -
java 实现 文件操作工具集。包括文件、目录树的拷贝、删除、移动、查找等工具函数
2012-09-27 11:05 675import java.io.*; /** * 文件操作工 ...
相关推荐
静态数据脱敏(Static data masking)是指在数据全生命周期中,对敏感信息通过规则进行变形,以达到对敏感数据进行隐私保护的目的。 二、业务场景与价值 静态数据脱敏系统解决方案可应用于生产库到测试库的数据...
数据模型是系统设计的基础,SupplierManagement-DataModel.doc可能包含数据库的设计蓝图,如实体关系图(ER图),定义了各个实体(如供应商、产品、订单等)之间的关系,以及它们的属性和操作。数据模型的清晰性直接...
标题"QT moc definition of dllimport static data member not allow"指出的问题核心在于,试图在一个动态链接库(DLL)中使用`dllimport`和`static`修饰的静态数据成员。在Windows平台上,`dllimport`用于声明一个...
总的来说,利用Java开发的Kafka Spark流处理系统可以有效地处理实时数据,并通过join操作与静态数据相结合,实现更丰富的数据分析。在实际项目中,这种结合可以应用于诸如实时监控、异常检测、复杂事件处理等多种...
本篇文章将深入探讨如何在C#中静态调用Web Service,以便通过Web Service来访问数据库。Web Service是一种基于互联网的软件服务,允许不同系统间的应用程序进行交互。在描述的场景中,我们构建了一个IIS(Internet ...
循环静态数据流(Cyclo-static Dataflow)是在SDF基础上进一步发展的模型,它允许过程在多个时钟周期内完成不同的操作,但这些操作仍然遵循一定的周期性规律。通过这种方式,可以在保持一定程度同步的同时引入更多的...
《静态时序分析(Static Timing Analysis)基础及应用》由陈麒旭编写的教程,主要探讨了在数字集成电路(IC)后端设计中至关重要的静态时序分析技术。随着半导体工艺进入深次微米时代,系统级芯片(SoC)设计的...
《狂神说SpringBoot员工管理系统静态资源》是一个与SpringBoot框架相关的学习资源包,主要包含了一些Web应用中的静态页面和资源。在这个系统中,SpringBoot作为核心开发框架,被用来构建一个简洁高效的员工管理平台...
- 数据库连接通常通过JPA或MyBatis实现,使用Spring Data JPA简化数据访问操作。 5. **狂神的教程特点**: - "狂神"可能是一位知名的IT博主或讲师,他的教程通常深入浅出,结合实战项目讲解理论知识,帮助学习者...
静态面板数据(Static Panel Data)是指在固定时间段内,对于多个个体(或单位)的一次性观测值集合。这种数据结构允许我们考虑个体间的异质性和时间不变的特性。在Stata中,我们可以使用`xtreg`命令进行线性回归...
在编程实践中,静态链表常用于解决特定场景的问题,比如在资源有限的嵌入式系统或者对内存管理有特殊需求的场合。静态链表的实现可以通过结构体数组来完成,每个结构体包含数据和指向下一个元素的索引。在C语言中,...
本篇文章将详细讲解C++中的静态内存分配以及如何实现一个静态内存分配的队列模块,尤其关注其在嵌入式系统软件中的应用。 首先,让我们了解静态内存分配。静态内存分配通常指的是在编译时就已经确定了内存的大小和...
- **Design Data**: 设计数据通常包含了电路的具体结构和布局信息,这里不做过多解释。 - **Library Data**: 时序模型(Timing Model)包含在标准单元库(Cell Library)中,这些模型以各种形式呈现,例如组合时序弧...
Actel FPGA中的静态时序分析(Static Timing Analysis,简称STA)是设计流程中的关键步骤,用于确保电路在实际运行时满足时序要求,保证系统的稳定性和性能。本文档针对Actel FPGA平台,使用Libero软件进行详细解析...
DPDK (Data Plane Development Kit) 是一套开源的高性能网络处理框架,主要针对网络包处理进行优化,广泛应用于数据中心、网络设备以及网络安全等领域。在C++编程中,有时我们需要将DPDK库集成到项目中,此时就需要...
静态时序分析(Static Timing Analysis,STA)是一种用于验证设计时序特性的方法,它可以检查电路是否满足所有的时序约束。STA工具能够自动计算出整个设计的时序路径,并检测是否存在任何时序违规,如建立时间或保持...
标题提到的“具有由数据控制的电源供应的静态随机存取存储器”(Data-Controlled Power Supply for Static Random Access Memory,简称DPS SRAM)是一种针对特定应用优化的内存技术,旨在提供更高级别的可靠性和能效...
在数字集成电路设计领域,静态时序分析(Static Timing Analysis,STA)是验证设计是否满足时序约束的关键步骤。TimeQuest是Aldec公司的一款强大的静态时序分析工具,它能够帮助工程师们精确地评估电路的时序性能,...
在IT行业中,C#是一种广泛使用的编程语言,尤其在开发.NET框架的应用程序时。静态页面生成是Web开发中的一种技术,它将动态内容转化为预先...通过掌握这些知识点,开发者可以构建出高效且可扩展的静态页面生成系统。