`
datamachine
  • 浏览: 161835 次
社区版块
存档分类
最新评论

文本文件连接的实现

阅读更多

问题来源:http://stackoverflow.com/questions/26820118/text-file-processing-using-java

JAVA没有直接处理文本文件的连接运算的类库,自行编码非常复杂,特别是文件太大无法放入全部读入内存时。集算器可以协助JAVA实现这些运算,下面通过例子来看一下具体作法。

文本文件order.txt的第一行是列名,列SellerId是逻辑外键,指向employee.txt的列EID,现在需要从两个文件中取出列OrderIDClientNameDept,并形成新的文件。部分源数据如下:

 

Order.txt



 

 

Employee.txt



 

 

假设两个文件都比较小,则可以使用如下集算器代码进行内连接运算:



 

A1A2:将文件读入内存。@t表示第一行是列名。

 

A3:进行内连接运算,结果如下:



 

A4:A3中取出需要的字段。

 

A5:写入文件。内容如下:



 

如果进行左连接运算,只需在join函数使用选项@1,代码如:=join@1(A1:o,SellerId; A2:e,EId),生成的文件如下:



 

类似的,全连接只需使用选项@f

 

 

如果其中一个文件较大,或两个都很大,这时可以用集算器游标来解决,代码如下:



 

A1,A2:以游标的方式打开大文件。

A3:进行游标之间的内连接运算。和内存连接不同,游标连接要求游标有序,因此这里用函数sortx进行排序。

A4:取出需要的字段,形成新的游标。

A5:将游标写入文件。

类似地,@1表示左连接,@f表示全连接。

 

         上述脚本已经完成了所有的数据处理工作,接下来通过JDBC将集算器脚本集成在JAVAJAVA代码如下:

         //建立esProc jdbc连接

         Class.forName("com.esproc.jdbc.InternalDriver");

         con= DriverManager.getConnection("jdbc:esproc:local://");

         //调用esProc,其中test是脚本文件名

         st =(com.esproc.jdbc.InternalCStatement)con.prepareCall("call test()");

         st.execute();//执行esProc存储过程

 

         ResultSet set = st.getResultSet();//获得计算结果

  • 大小: 23.1 KB
  • 大小: 41.7 KB
  • 大小: 29.3 KB
  • 大小: 33.8 KB
  • 大小: 21.7 KB
  • 大小: 24.5 KB
  • 大小: 33.7 KB
0
0
分享到:
评论

相关推荐

    数据库连接文本文件

    在IT行业中,数据库是存储和管理数据的核心工具,而连接文本文件是数据库操作的一个常见任务。...通过掌握以上知识,我们可以有效地将文本文件数据连接到数据库,实现数据的存储和分析,为业务决策提供支持。

    学生社团管理系统 C语言邻接表+文本文件存储实现

    本系统采用C语言进行实现,利用邻接表结构存储学生与社团的关系,并通过文本文件进行数据持久化,展现了C语言在实际问题解决中的强大能力。这里我们将深入探讨其中的关键技术和知识点。 首先,C语言作为基础的编程...

    Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作

    总之,Python通过`pyhdfs`模块可以方便地与HDFS进行交互,实现文件的上传下载,而Pandas则提供了强大的数据处理能力,能够轻松地将文本文件转换为CSV格式。在处理特殊数据格式时,需要根据实际情况选择合适的方法来...

    VFP数据库文件 导成 文本文件txt

    总之,这个项目涉及的知识点包括VFP数据库的读取和操作、数据格式转换、文本文件的写入、C++编程基础、MFC框架以及可能的数据库连接技术。为了完善这个工具,开发者可能需要考虑错误处理、性能优化、用户界面改进和...

    多文本文件合并

    3. **利用命令行工具**:对于Linux和Mac用户,可以使用`cat`命令将多个文本文件连接起来。例如,`cat file1.txt file2.txt > merged.txt`会将file1.txt和file2.txt的内容合并到merged.txt中。Windows用户可以使用`...

    两文本文件比较易语言源码

    在这个示例中,源码实现了对文本文件的比较功能,这对于软件开发、文本分析或者数据校验等工作场景非常有用。 描述中提到,这个资源是“易语言数据库操作支持库”结合的产物,意味着在进行文本比较时可能涉及到了...

    文本文件处理程序

    在IT行业中,文本文件处理是常见的任务之一,尤其是在编程领域。C#作为一种强大的.NET平台上的编程语言,提供了丰富的API和工具来操作文本文件,如读取、写入、搜索、替换等。本教程将深入探讨如何使用C#来处理txt...

    C#处理文本文件和实现MD5的源码与说明

    根据给定的文件信息,以下是对“C#处理文本文件和实现MD5”的知识点的详细解析: ### C#中的MD5实现 MD5(Message-Digest Algorithm 5)是一种广泛使用的散列算法,用于生成固定长度(通常是128位)的散列值或消息...

    labview 读取文本文件 M到N行

    我们将以提供的标题"labview 读取文本文件 M到N行"及描述为基础,探讨实现这一功能的关键步骤和技术。 首先,我们需要理解LabVIEW的基本编程结构。LabVIEW是一种图形化编程语言,其核心是数据流编程,即通过连接...

    文本文件内容自动汇入Oracle

    通过以上步骤,我们可以实现从文本文件到Oracle数据库的自动化导入。在具体实现时,源代码会包含对这些步骤的详细逻辑。掌握这个技能对于数据库管理员和开发人员来说非常有用,特别是在处理大量数据导入场景下,能够...

    易语言去除文本文件中间的空格

    在处理文本数据时,有时我们需要去除其中的空格,例如在整理文本文件时,空格可能会造成不必要的干扰。本文将详细介绍如何使用易语言来实现这个功能。 在易语言中,我们通常会用到“文件”和“字符串”这两个类库,...

    C#实现文本TXT文件导

    在实际应用开发中,经常需要处理大量的数据导入工作,比如将文本文件中的数据批量导入到数据库中。C#作为一种广泛使用的编程语言,在.NET框架下提供了强大的文件操作功能以及数据库访问能力,使得此类任务变得简单...

    小程序-C#将文本文件读写并对部分内容匹配和替换

    在本文中,我们将深入探讨如何使用C#编程语言来实现小程序功能,主要涉及文本文件的读写操作以及对其中特定内容的匹配与替换。C#是Microsoft开发的一种面向对象的编程语言,广泛应用于Windows应用程序、Web应用(如...

    数据库连接方法及常用数据库连接串(oracle、SQL、ACCESS、EXCEL、文本文件)

    对于简单的文本文件,也可以使用特定的驱动来实现类似数据库的操作。 **连接串示例:** ```plaintext Driver={Microsoft Text Driver (*.txt; *.csv)};DefaultDir=文本文件所在目录 ``` **解析:** - `Driver={...

    文本文件导入导出

    接着,当我们谈论"FileToDB"时,很可能是实现了一个将文本文件数据导入到数据库的应用程序。"FileToDB.dpr"是Delphi的项目文件,"FileToDB.dof"可能包含了编译配置,而"FileToDB.exe"是编译后的可执行文件。...

    MFC 打开并显示文本文件的例子-文档视图模型

    综上所述,这个例子将涵盖从使用MFC框架构建用户界面,到实现文件打开对话框,读取文本文件,以及在视图中显示文本的完整流程。对于初学者,这是一个很好的练习项目,可以帮助理解MFC的基本工作原理。

    C++实现的文件传输功能

    本文将详细探讨如何使用C++来实现文件传输功能。 首先,文件传输涉及两个主要方面:读取本地文件和网络通信。在C++中,我们可以使用标准库中的`fstream`来处理文件的读写操作。`ifstream`用于打开并读取文件,而`...

    将数据库输出到一个文本文件中(5KB)

    例如,使用ODBC或ADO.NET连接到Access数据库,并通过SQL查询将数据写入文本文件。 在数据导出的过程中,需要注意以下几个关键点: - **数据格式转换**:确保文本文件的分隔符(如逗号、制表符)符合接收方的需求。...

    使用文件流操作文本文件.doc

    ### 使用文件流操作文本文件的知识点详解 #### 文件流的概念 在计算机科学中,文件流是一种数据处理方式,它提供了一种将数据读入或写出文件的方法。在Python中,文件流的操作通常涉及到读取、写入、追加等基本功能...

    QT实现的文本编辑器(完整代码)

    这个压缩包中包含的是一个使用QT库实现的文本编辑器的完整源代码。这个编辑器具备了常见的文本编辑功能,如剪切、复制、粘贴,文本的对齐方式调整,字体与字号的选择,颜色设定,行间距的修改,以及插入图片和创建...

Global site tag (gtag.js) - Google Analytics