当前位置: 首页 > news >正文

韶关市网站建设招标即墨网站建设地址

韶关市网站建设招标,即墨网站建设地址,南京网站设计网站建设,深圳设计总院直接用Java实现文本文件中数据按条件过滤会有如下的麻烦: 1、文件不是数据库#xff0c;不能用SQL访问。当过滤条件变化时需要改写代码。如果要实现象SQL那样灵活的条件过滤#xff0c;则需要自己实现动态表达式解析和求值#xff0c;编程工作量非常大。 2、文件太大时不能一…直接用Java实现文本文件中数据按条件过滤会有如下的麻烦: 1、文件不是数据库不能用SQL访问。当过滤条件变化时需要改写代码。如果要实现象SQL那样灵活的条件过滤则需要自己实现动态表达式解析和求值编程工作量非常大。 2、文件太大时不能一次性装入内存处理而采用逐步读入方式在考虑到性能时又会涉及到文件缓冲区管理、拆行计算等复杂编程。 使用集算器来辅助Java编程这些问题都不需要自己写代码解决。下面我们通过例子来看一下具体作法。 文本文件employee.txt中保存了员工数据。我们要读取员工信息从中找出1981年1月1日含之后出生的女员工。 文本文件empolyee.txt的格式如下     EID NAME SURNAME GENDER STATE BIRTHDAY HIREDATE DEPT SALARY    1 Rebecca Moore F California 1974-11-20 2005-03-11 RD 7000    2 Ashley Wilson F New York 1980-07-19 2008-03-16 Finance 11000    3 Rachel Johnson F New Mexico 1970-12-17 2010-12-01 Sales 9000    4 Emily Smith F Texas 1985-03-07 2006-08-15 HR 7000    5 Ashley Smith F Texas 1975-05-13 2004-07-30 RD 16000    6 Matthew Johnson M California 1984-07-07 2005-07-07 Sales 11000    7 Alexis Smith F Illinois 1972-08-16 2002-08-16 Sales 9000    8 Megan Wilson F California 1979-04-19 1984-04-19 Marketing 11000    9 Victoria Davis F Texas 1983-12-07 2009-12-07 HR 3000    10 Ryan Johnson M Pennsylvania 1976-03-12 2006-03-12 RD 13000    11 Jacob Moore M Texas 1974-12-16 2004-12-16 Sales 12000    12 Jessica Davis F New York 1980-09-11 2008-09-11 Sales 7000    13 Daniel Davis M Florida 1982-05-14 2010-05-14 Finance 10000    … 实现的思路是用Java程序调用集算器脚本读取和计算数据之后将结果以ResultSet的方式返回给Java程序。由于集算器支持动态表达式解析和求值使得Java程序可以像使用sql那样灵活的过滤文本文件中的数据。 例如我们需要查询1981年1月1日含之后出生的女员工esProc程序可以从外部获得一个输入参数“where”作为条件如下图   where是个字串取值是BIRTHDAYdate(1981,1,1) GENDER”F”。 esProc代码如下 A1定义一个file对象读入数据第一行是标题字段分隔符默认是tab。esProc的集成开发环境可以直观的显示出导入的数据如上图右边部分。 A2按照条件过滤。这里使用宏来实现动态解析表达式其中的where就是传入参数。集算器先计算${…}里的表达式将计算结果作为宏字符串值替换${…}之后解释执行。这个例子中最终执行的是A1.select(BIRTHDAYdate(1981,1,1) GENDER”F”)。 A3向外部程序返回符合条件的结果集。 过滤条件发生变化时不用改变代码只需改变where参数即可。例如条件变为查询1981年1月1日含之后出生的女员工或者NAMESURNAME等于”RebeccaMoore”的员工。Where的参数值可以写为BIRTHDAYdate(1981,1,1) GENDER”F” || NAMESURNAME”RebeccaMoore”。执行之后A2中的结果集如下图 在Java程序中使用esProc JDBC调用这段程序获得结果的代码如下将上述esProc程序保存为test.dfx     //建立esProc jdbc连接    Class.forName(“com.esproc.jdbc.InternalDriver”);    con DriverManager.getConnection(“jdbc:esproc:local://”);    //调用esProc 程序存储过程其中test是dfx的文件名    st (com.esproc.jdbc.InternalCStatement)con.prepareCall(“call test(?)”);    //设置参数    st.setObject(1,” BIRTHDAYdate(1981,1,1) GENDER\”F\” ||NAMESURNAME\”RebeccaMoore\”);//参数就是动态的过滤条件    //执行esProc存储过程    st.execute();    //获取结果集符合条件的员工集合    ResultSet set st.getResultSet(); 对于代码较简单的脚本还可以把代码直接写在调用集算器JDBC的Java程序中而不必专门编写脚本文件test.dfx    st(com. esproc.jdbc.InternalCStatement)con.createStatement();    ResultSet set st.executeQuery(“file(\”D:/employee.txt\”).importt().select(BIRTHDAYdate(1981,1,1)GENDER\”F\” || NAMESURNAME\”RebeccaMoore\”)”); 这段Java代码直接调用了集算器的一句脚本从文本文件中取得数据并按照指定的条件过滤。结果集返回给ResultSet对象set。 上面方法中假定文件较小可以全部读入内存。但实际上可能发生文件较大无法读入内容的情况而且即使可以读入也没必要占太多内存这时可以使用文件游标的方式来处理。集算器程序调整如下 A1定义一个file对象游标第一行是标题字段分隔符默认是tab。 A2按照条件过滤游标。这里使用宏来实现动态解析表达式其中的where就是传入参数。集算器将先计算${…}里的表达式将计算结果作为宏字符串值替换${…}之后解释执行。这个例子中最终执行的是A1.select(BIRTHDAYdate(1981,1,1) GENDER”F”)。 A3返回游标。 虽然集算器给Java返回的是游标但是Java调用的程序不用修改。在Java使用ResultSet遍历数据的时候集算器会自动取出游标对应的内容。 如果需要将过滤后的数据写入另一个文件而不是返回给主程序只要将A3格的表达式改成file(“D:/employee_group.txt”).exportt(A2)即可集算器将把游标数据写出成文件。转载于:https://www.cnblogs.com/raqsoft/p/5056057.html
http://www.pierceye.com/news/112221/

相关文章:

  • 美食网站php源码wordpress 文章消失
  • 四川住房和城乡建设厅网站万达网站建设
  • 网站运营一般做那些分析快手营销软件
  • 重庆大渡口建设网站站群搭建
  • 2018年网站开发技术动漫电影做英语教学视频网站
  • 设备管理系统网站模板网站开发基础知识试题
  • wordpress建立好的网站万能搜索网站
  • 杭州 高端网站建设wordpress 不显示ip
  • 校考前做试题的网站池州哪里有做网站
  • 四合一小说网站搭建教程WordPress主题资源
  • 网站制作com台州网站哪家专业
  • 网站怎么上百度阿里云网站建设
  • 全国最大的网站建设公司肇庆网络推广
  • 网站做301跳转需解析设计用哪些网站有哪些功能
  • 如何将网站添加到信任站点手机价格
  • 做网站显示上次登录时间代码深圳有哪些招聘网站
  • 网站开发可选择的方案页面设计说明
  • 手机付费咨询网站建设网站正能量免费推广软件晚上
  • 网站群建设技术规范seo收索引擎优化
  • 西安网站托管维护百度首页广告
  • 洛龙区网站设计建设免费网页小游戏
  • 建设摩托125图片大全优化大师怎么删除学生
  • 郑州哪家公司给国外做网站闵行网站推广
  • 微网站 开发提供坪山网站建设
  • 狗狗和人做网站centos6搭建wordpress
  • 培训教育学校的网站建设方案vx小程序怎么制作
  • 泉州网站建设优化公司酒店网络营销推广方案
  • 重庆潼南网站建设公司电话crm客户关系管理平台
  • 怎么做可以访问网站连接加密东莞++网站建设
  • 企业网站的建设与流程数据分析师要学什么课程