`
xiaoer_1982
  • 浏览: 1882528 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

kwic系统模拟

阅读更多

package org.bupt.kwic;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.StringTokenizer;

public class mykwic {

private static BufferedReader input_file;
private ArrayList<String> kwicList;


public mykwic (String filename) //construct the index of file fname
{
kwicList = new ArrayList<String>();
String line="";
fileopen(filename);
while (line!= null)
{
line= readline();
if (line !=null)
{
parseLine(line, kwicList);
}
}

//Collections.sort(kwicList);

display ( kwicList );
}

public static void fileopen(String InputFilename) {
try {
input_file = new BufferedReader(new FileReader(InputFilename));
} catch (IOException e) {
System.err.println(("File not open" + e.toString()));
System.exit(1);
}
}

public static String readline() {
String line ="";
try {
line = input_file.readLine();
} catch (Exception e) {
e.getStackTrace();
}

return line;
}

public void parseLine(String line,ArrayList<String> list) {
StringTokenizer tokener = new StringTokenizer(line);
String token = new String();
int index;

ArrayList<String> tokens = new ArrayList<String>();
int count = tokener.countTokens();

for (int j = 0; j < count; j++) {//将一行解析,并且将解析的word加入ArrayList中
token = tokener.nextToken();
tokens.add(token);
}

//对ArrayList中的字进行循环移位,得出最后结果
for (int i = 0; i < count; i++) {
index=i;
StringBuffer linebuffer = new StringBuffer();
for (int j = 0; j < count; j++) {

if (index >= count)
index = 0;

linebuffer.append ( tokens.get(index) );
linebuffer.append (" ");
index++;
}
line = linebuffer.toString();
kwicList.add(line);
}
}

public static void display(ArrayList<String> List) {
System.out.println("Output is");
for (int count = 0; count < List.size(); count++) {
System.out.println (List.get (count) );
}
}

public static void main(String[] args) {
new mykwic("test.txt");
}

}

分享到:
评论

相关推荐

    八种软件结构风格的KWIC系统实现以及设计图和要求

    2. **虚拟机结构风格**:模拟一个计算机环境来执行特定的指令集,比如KWIC系统的查询解析和执行可以构建在这样的虚拟机上。 3. **仓库结构风格**:仓库风格的系统集中存储数据,并提供多种访问接口。在KWIC系统中,...

    KWIC系统事件系统结构实现

    **KWIC系统事件系统结构实现** KWIC(Keyword in Context)系统是一种文本处理技术,它主要用于展示关键词在上下文中的出现情况,常用于文学研究、信息检索和文本分析。在这个系统中,事件系统架构被引入,以提高...

    KWIC系统(关键字检索)

    **KWIC系统(Keyword-in-Context)是一种文本处理和信息检索技术,主要用于展示文本中的关键词及其上下文。在C#编程环境下实现KWIC系统,我们可以深入理解如何利用.NET框架进行文本处理、搜索算法以及控制台应用程序...

    基于java socket的KWIC系统实现

    **基于Java Socket的KWIC系统实现** 在信息技术领域,关键词共现索引(Keyword-In-Context,简称KWIC)是一种常用的文本分析方法,用于展示文本中关键词周围的上下文信息。KWIC系统通常用于帮助研究人员快速查找和...

    KWIC系统需求说明书.doc

    ### KWIC索引系统需求分析及技术要点 #### 一、引言 ##### 1.1 编写目的 本文档旨在明确KWIC索引系统的具体需求,以便于客户与开发团队之间达成共识,确保软件开发过程中各环节的顺利进行。 ##### 1.2 背景 KWIC ...

    基于事件风格的KWIC系统

    **基于事件风格的KWIC系统** 关键词:事件、KWIC系统、软件体系结构、LineStorage、KWIC.java、LineStorageWrapper、Input、LineStorageChangeEvent、CircularShifter、Alphabetizer、Output KWIC(Key Word in ...

    基于UML 和“4+1”视图进行KWIC(关键词索引系统) 系统建模.pdf

    KWIC系统可能需要运行在不同的操作系统平台上,如PC上的Windows系列操作系统(包括Win2003、XP、7、8、8.1等),开发者需要确保系统能够在目标平台上正常运行。 总的来说,KWIC系统的UML和“4+1”视图建模涉及到的...

    kwic.rar_kw_kwi_kwic_kwic pipeline_kwic zip

    "kwic pipeline" 指的是 kwic 系统的工作流程或处理链,而 "kwic zip" 可能是指这个压缩包本身,包含了 kwic 相关的文件,并且以 ZIP 格式打包。 **描述详解:** 描述中提到的 "kwic(keyword in context)系统演示...

    KWIC 软件体系结构

    软件体系结构的作业,用了比较经典的KWIC系统,一步步让你体会到软件体系结构设计的重要性,由刚开始的面向过程,到面向对象,再到基于事件的系统,再到管道过滤器模式,系统的灵活性一步步提升,做完试验之后,还有...

    kwic 五种风格实现&逻辑视图&开发视图

    逻辑视图关注的是系统的功能性和模块划分,它展示了如何通过各种算法和数据结构实现kwic问题。而开发视图则更侧重于实际的编码实现,包括源代码结构、依赖关系以及开发过程中的调试和测试策略。 综上所述,通过理解...

    visua kwic

    **标题:“visua kwic”**,这似乎是指一个基于Visual C++实现的KWIC(Keyword in Context)程序。KWIC是一种文本分析技术,常用于语言学和信息检索领域,它将关键词置于上下文之中,便于快速查看词频和语境。 **...

    分析比较KWIC系统实现四种不同体系结构风格.pdf

    分析比较KWIC系统实现四种不同体系结构风格的讨论主要集中在软件设计的核心概念上,这四种风格包括:数据流风格(批处理序列;管道/过滤器)、调用/返回风格(主程序/子程序、面向对象风格、层次结构)、仓库风格...

    KWIC 抽象数据类型实现

    对于KWIC ADT,逻辑视图可能包括用户输入关键词,系统返回包含关键词的上下文信息。开发视图则侧重于系统的内部结构和实现细节,包括ADT的类定义、数据结构的选择以及算法的设计。 在提供的文件`a2q2`中,可能是对...

    kwic.zip_KWIC类图_kwic_kwic程序_um主程序

    学习和分析这个压缩包,我们可以获取到关于KWIC算法实现的宝贵知识,包括不同的编程策略、数据结构的使用以及如何通过UML图进行系统设计。对于想提升文本处理技能或者对算法实现有兴趣的开发者来说,这是一个很好的...

    KWIC索引系统需求说明书.pdf

    **KWIC索引系统需求说明书** 1. 引言 引言部分旨在阐述编写本需求说明书的目的,为理解整个项目的背景和预期目标提供基础。编写目的是为了明确KWIC索引系统的开发方向,确保所有参与者对系统的目标、功能及用户...

    KWIC索引系统需求说明书[收集].pdf

    《KWIC索引系统需求说明书》是对一个特定的软件开发项目——KWIC索引系统的详尽需求描述。KWIC,全称Key Words in Context,是一种文本检索方法,它以关键词为中心,将上下文中的词组一同展示,以便于快速理解和查找...

    分析比较KWIC系统实现四种不同体系结构风格.doc

    分析比较KWIC系统实现四种不同体系结构风格.doc

    Java代码:KWIC程序示例

    Java代码中的KWIC(Key-Word in Context)程序是一种用于文本分析和信息检索的技术,它显示关键词在上下文中的出现情况。在这个程序示例中,我们看到的是利用管道-过滤器(Pipe-Filter)设计模式来实现的。这种模式...

    KWIC.rar_KWIC ja_kwic_kwic oo

    1. 主程序(main):这是整个KWIC系统的入口,负责调用其他组件并协调整个程序的运行。 2. 子程序(subroutines):这些是完成特定任务的函数或模块,如搜索关键词、构建上下文、输出格式化等。 3. 面向对象的类...

Global site tag (gtag.js) - Google Analytics