版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、接口与抽象的应用实例1常用的批量导入的开发打开文件读取所有数据导入所有数据打开文件读取一条记录导入一条数据关闭文件关闭文件导完未导完2为批量引入接口与抽象 通过常用的批量导入方式,可以很好的完成数据的导入,为什么还要引入接口与抽象呢?以下情况是经常发生的: 1、数据源的类型和格式改变时 2、目标源的类型和格式改变时 当然很多人会用COPY+PASTE,然后在恰当的地方进行恰当的修改,来实现恰当的功能。但这样做的工作量是相当大的。比如数据源不是XLS,而是来自另一个数据库,或是SOCKET流。而且可复用性基本为零,维护量在后期也会相当的大。接口与抽象这时就体现了它的优势。3批量导入设计的一般框架
2、 接口与抽象是一个公用模块不可缺少的设计。对常用的批量导入业务进行抽象,可以发现,类似于Pipe处理,即数据读取,数据导入。再进一步的抽象业务,读取一条记录,导入一条记录,可以使子类的开发更加容易,代码更空易复用和维护。4批量导入数据读取IReadDataAReadDataTextReadDataXlsReadDataBaseReadData5批量导入数据导入IWriteDataAWriteDataTextWriteDataXlsWriteDataBaseWriteData6批量导入接口适配器 这里借用适配器这一说法(适配器是用空方法实现接口的类)来处理不同接口间数据格式的匹配。比如读取TEX
3、T文件的map (new Integer(n)=value)和导入XLS文件map (String=value)之间的转换。当各种数据源读取到的Map和写入所要求的数据结构一致时,就可以毫无顾忌的相互导入了。7接口适配器的设计 在批量导入的实例中,适配器只需要对不同格式数据源进行匹配,使之出来的结果数据结构相同。适配器只需要用抽象类就行了,可以不使用接口。这样,几乎所有类型的数据导入就可以实现了。下面将直接用简洁的代码实现。文本文件XLS文件数据库SOCKET8数据源读取设计Public interface IReadData public Map readData(); Map为接口的返回对
4、象,map=null读取结束。 用Map作为数据结构可以解决数据列的顺序问题。比如XLS文件title=Value,TEXT文件new Integer(n)=value。这样可以通过中间类实现XLS到TEXT格式的转换,从而实现批量导入。9数据源读取设计TEXT文件Public class TextReadData implements IReadData throws Exception private InputStream inputStream; public TextReadData() throws Exception inputStream=new (file); public
5、Map readData() InputStreamReader rRead=new InputStreamReader(inputStream); BufferedReader bRead=new BufferedReader(rRead); String msg=bRead.readLine(); if(msg=null)return null; Map map=new HashMap(); String msgArray=msg.split(“,”); for(int I=0;I0)sb.append(“,”); sb.append(msg); sb.append(“rn”); outp
6、utStream.write(sb.toString().getBytes(); 12适配器设计默认类Public class DefaultAdapter implements IDataAdatper public Map changeDataFormat(Map map) return map; 这个类没有只是直接返回,可以用于文件复制或是读取后结构相同的数据源之间导入。13批量导入最后设计Public class DataImport public void importData(IReadData iReadData ,IWriteData iWriteData ,IDataAdapter) throws new Exception Map map=null; while(map=iReadData.readData()!=null) map=IDataAdapter(map); iWriteData.writeData(map); 14结束语以上所有代码的开发源于项目中WLAN数据的批量导入与数据导出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 牛津译林版(2020)必修一-Unit1 Back to school基础夯实训练~词汇短语句型(含答案)
- 物业客服述职报告
- 湖南省2025届高三九校联盟第一次联考地理试题(含答案)
- 高一 人教版 数学-第四章《函数模型的应用(二)》课件
- 2024年中央经济工作会议精神要点梳理
- 高一人教版英语必修二第一单元《Discovering Useful Structures using structures》课件
- 浙江省金华市十校2023-2024学年高三上学期语文2月期末考试试卷
- 名企风采(山东外贸职业学院)知到智慧树答案
- 年20万吨节能环保型石灰生产线建设可行性研究报告
- LNG项目商业计划书
- 动画制作员(高级工)技能鉴定理论考试题库(含答案)
- 2024年新课标卷高考化学试卷试题真题答案详解(精校打印版)
- 国开电大软件工程形考作业3参考答案
- (完整word版)英语四级单词大全
- 齐鲁文化智慧树知到答案章节测试2023年齐鲁师范学院
- 山东省政府采购评审专家学习检测题库1-200
- 余热电站2215;9MW发电机启动操作过程及注意事项Microsoft Word 文档
- 安全工作总结PPT
- 《条形统计图》课堂实录
- 建设工程招投标流程图(含时间节点)
- 【课题申报表】思维导图在初中生物复习课中的应用研究
评论
0/150
提交评论