




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
四川交通职业技术学院毕业设计(论文)英汉互译系统设计毕业论文目 录第一章 问题定义及内容简介11.1问题的定义11.2 内容简介1第二章 研究背景与研究意义22.1 研究背景22.2 研究意义2第三章 开发平台与语言简介43.1 Eclipse简介43.2 java 简介43.3 Access 简介5第四章 系统需求分析及可行性分析64.1 系统需求分析64.1.1 现状分析64.1.2 功能需求分析64.1.3 数据库需求分析64.1.4 系统数据流程分析74.2 系统总体功能介绍84.3 模块功能介绍84.3.1 主界面功能84.3.2 英译汉功能94.3.3 汉译英功能94.4 数据项94.5 系统难点分析10第 五 章 系统设计115.1系统的总体设计115.1.1系统的功能模块设计115.2 系统的详细设计125.2.1 概念设计125.3 系统的物理设计14第 六 章 总体设计1561 算法的实现156.2 字符串的联系156.3 数据库设计156.3.1 数据库图156.3.2 数据库的约束与关系156.4 系统的实现166.4.1 主界面功能实现166.4.2 英译汉功能实现176.4.3 汉译英功能及词库备份实现186.4.4 查询类的实现及数据库绑定196.4.5 添加类的实现及数据库绑定206.4.6 修改类的实现及数据库绑定216.4.7 删除类的实现及数据库绑定22第 七 章 Socket编程257.1 Socket编程257.2 Socket的实现25第 八 章 程序总结298.1 本系统的优点298.2 本系统的不足及改良298.3 设计和实现过程中的收获29参考文献30参考书籍:30谢辞3131第一章 问题定义及内容简介1.1问题的定义 解决英译汉、汉译英以及传统的英汉互译的软件缺陷进行以下的改变:1.实现添加生词到数据库,方便下次查询,备份词库、避免数据丢失。2.修改错误的词汇,汉英解释和单词的性质。3.对不必要的词汇进行删除,大大的减少了数据冗余和重复。4.考虑数据库的选择和数据库连接、配置等问题、减少不必要的问题出现1.2 内容简介 通过设计实践,达到以下目的:1.培养学生严谨务实的工作态度,并在老师的指导下,提高分析问题和解决问题的能力,促进理论联系实际学风养成。 2.巩固和加深对面向对象程序设计的基本概念、基本理论和实现技术的理解。3.掌握Java开发的主要环境与工具,掌握面向对象的常用控件的使用方法。4.初步掌握面向对象系统分析与设计的基本方法和步骤,并能针对简单的实际应用问题进行初步地分析和设计。5.掌握Java编程语言,并针对具体应用问题进行编程实现。6.通过撰写课程设计论文,锻炼学生科技论文写作能力。英汉互译的实现:功能要求:能够编辑词典库中的信息,能够实现英译汉,汉译英(要考虑一词多义)。该系统主要用于实现英汉互译的功能,先选择是英译汉还是汉译英然后再查询框中查询,该系统会自动弹出匹配信息。第二章 研究背景与研究意义2.1 研究背景电子引词典是一种将传统的印刷词典转成数码方式、进行快速查询的数字学习工具。电脑辞典以轻便易携、查询快捷、功能丰富等特点,成为21世纪学生学习生活、社会人士移动办公的掌上利器。电脑辞典主要有五大板块功能,分别为:辞典查询学习功能、电子记事功能、计算功能、参考资料功能以及数据传输功能。目前市场上的电子辞典内置的辞典有学习词典如英汉、雅思等,也有专业词典如电子、医药、信息等。不同的消费者应根据自己的实际情况选择最适合自己的电子辞典,标准的电子辞典内置英汉、汉英、英英、雅思、托福等学习型词典,是为大学、高初中以及小学生量身定制的学习辞典。我们在学习英语的时候会经常碰到很多的生词,有时,为了读懂一篇文章,经常是读文章用一小时,但是其中却有半个小时都在翻阅英语字典。所以我们小组为了解决这一问题,才将选材方向定位于电子词典的功能实现,主要的目的就是为同学们解决这一问题。在做电子词典功能实现的时候,主要从以下几个方面入手,即:英汉互译、汉英互译。在英译汉、汉译英这两个功能模块上,我们首先提供了一个查询界面,即使用者需要输入要查询的关键字,点击确定按钮,屏幕上就会出现其对应的答案。在做这个模块的时候,我们主要解决了Java与数据库的链接问题,进而实现其功能。从系统的可扩展性方面考虑,我们在系统中加入了对单词库的添加、删除、修改功能。有了这个功能模块,将给予使用者带来很大的方便。当然也存在一种情况,即刚开始接触而不懂得如何去使用电子词典,为此我们加入了帮助界面,帮助界面是用Java小程序完成的。2.2 研究意义在于巩固所学Java语言编辑基本功,掌握Jdk,Editplus,Eclipse,Jcreator等开发工具的运用,拓宽常用类库的应用。Java语言是当今流行的网络编程语言,它具有面向对象,跨平台,分布应用等特点,它贴近自然的语言,而且有利于软件的维护和继承。我们通过该教学环节与手段,把所学课程及相关知识加以融会贯通,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。为了体现它的可扩展性,使用者也可以自己添加、删除或修改其单词库,为我们的学习带来了很多方便。第三章 开发平台与语言简介3.1 Eclipse简介Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。 虽然大多数用户很乐于将 Eclipse当作 Java 集成开发环境(IDE)来使用,但 Eclipse的目标却不仅限于此。Eclipse还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse的软件开发人员,因为它允许他们构建与 Eclipse环境无缝集成的工具。由于 Eclipse中的每样东西都是插件,对于给 Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。 这种平等和一致性并不仅限于 Java开发工具。尽管 Eclipse是使用 Java 语言开发的,但它的用途并不限于 Java语言;例如,支持诸如 C/C+ 和 COBOL 等编程语言的插件已经可用,或预计将会推出。Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。 基于 Eclipse的应用程序的一个突出例子是 IBM Rational Software Architect,它构成了 IBM Java 开发工具系列的基础。同时,从2006年起,Eclipse基金会每年都会安排同步发布(simultaneous release)。至今,同步发布主要在6月进行,并且会在接下来的9月及2月释放出SR1及SR2版本。3.2 java 简介Java的名字的来源:Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。Java语言中的许多库类名称,多与咖啡有关:如JavaBeans(咖啡豆)、NetBeans(网络豆)以及ObjectBeans (对象豆)等等。Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。由James Gosling 和同事们共同研发,并在1995年正式推出。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。另一方面,Java技术也不断更新。(2010年Oracle公司收购了SUN) 由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。3.3 Access 简介Microsoft Office Access是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统。它是微软 Office的一个成员, 在包括专业版和更高版本的Office版本里面被单独出售。2010年5月12日,最新的微软Office Access 2010在微软Office 2010里发布,微软Office Access 2007 是前一个版本。MS ACCESS以它自己的格式将数据存储在基于Access Jet的数据库引擎里。它还可以直接导入或者链接数据(这些数据存储在其他应用程序和数据库)。第四章 系统需求分析及可行性分析4.1 系统需求分析4.1.1 现状分析当今时代是信息化时代,而信息的数字化也越来越被人们所重视,所以,数字化技术的重要性也逐渐体现了出来,主要体现在以下几个方面:数字化是数字计算机的基础,数字化是软件技术的基础,是智能技术的基础,数字化是信息社会的技术基础,数字化是信息社会的经济基础。词典作为一种为大众服务的工具书,已经渐渐退居二线了,进而出现了另一种查找方式更加简便,更加精确,词汇量更加丰富而且随身携带更加方便的工具,那就是电子词典,应该说这是一个新旧交替的过程,电子词典取代传统词典只是时间的问题。4.1.2 功能需求分析本系统在单词查阅方面主要完成了英译汉、汉译英功能,词库备份;在系统性能方面主要完成了单词库的插入、修改、删除功能以及帮助系统。4.1.3 数据库需求分析目前电子词典的应用很广泛,其体积小、价格低、实用性强,作为学习工具,有着很广泛的市场。在以前,同学们学习英语时都要用人工的方法去查阅生词,不仅浪费了大量的学习时间,学习效率无法提高。查阅英语生词成为了很多学习英语同学在学习方面的瓶径。电子词典的出现,就是针对这一问题。这里的设计就是实现英汉互译、单词发音,为了体现它的可扩展性,使用者也可以自己添加、删除或修改其单词库。下面是数据库表设计: 表4.1 英语词汇表字段名字段类型长度备注单词TEXT50主键解释TEXT504.1.4 系统数据流程分析数据流程是数据的采集、输入、处理、加工和输出的全过程。信息原始数据经采集后,输入计算机系统,进行模式或统计运算,或按用户的特殊要求编制某种专门程序来加工处理数据,然后输出结果数据。分析电子词典的总体情况,划分系统边界,识别系统的数据来源和去处,确定外部实体,得出系统的顶层数据流程图;然后划分出几个主要的信息管理功能,本系统的主要数据的工作流包括以下几个方面:1.英汉词典;2.汉英词典; 3.添加词汇;4.修改词汇;5.帮助;各功能之间的联系,绘出数据流程图,如下图所示:开始 帮助输入英文单词翻译 汉语解释结束果束图4.1 英译汉数据流程图开始 帮助输入汉语词汇翻译 英文单词 结束 图4.2 汉译英数据流程图4.2 系统总体功能介绍系统在单词查阅方面完成了英译汉、汉译英;完成了单词库的插入、修改、删除功能以及帮助系统。4.3 模块功能介绍4.3.1 主界面功能该模块的主要功能为:由于将组员所做的各模块组合在一起。使用户可以在一个界面下调用组内成员的功能模块。方便用户使用又方便用户的学习。而且不但可以通过菜单栏调用各功能模块,还可以通过按钮调用。主界面主要由两个面版,五个按钮,一个文本框,一个文本区,一个标签和一个菜单栏组成。在文本框中输入要查询的数据。文本区中显示查询的结果。4.3.2 英译汉功能该模块的主要功能为:当用记遇到陌生的单词或记不清解释的单词时,用户可以通过本功能查找,还通过本模块完成单词的再一次记忆。4.3.3 汉译英功能该模块的主要功能为:当用户进行汉译英翻译时难难免遇到不会的词或记不请的记。这时用记就可以通过本功能实现词汇的查找。它不但可以查到想要查的词还可以找到和该词相关的单词。4.4 数据项数据项又称数据元素,数据项是构成数据的最小单位,是数据记录中最基本的、不可分的有名数据单位。数据项可以是字母、数字或两者的组合。通过数据类型(逻辑的、数值的、字符的等)及数据长度来描述。数据项用来描述实体的某种属性。本系统的数据项的定义如下: 表4.2系统数据项的定义数据项名称数据项含义说明别名数据类型长度取值范围英文单词用户需要输入的英文单词无文本50英文字母汉语词汇用户需要输入的汉语词汇无文本50中文添加单词添加数据库中没有的单词无文本50英文字母修改注释更新单词注释无文本50中文,英文字母数据结构的定义数据结构描述了某些数据项之间的关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成;还可以由若干个数据项和数据结构组成。数据结构名称:英文单词含义说明:用户需要输入的英文单词 数据结构组成:由英文字母组成数据结构名称:汉语词汇含义说明:用户需要输入的汉语词汇数据结构组成:由中文组成数据结构名称:添加单词 含义说明:添加单词库中没有的单词 数据结构组成:由英文字母组成数据结构名称:修改注释 含义说明:更新单词注释数据结构组成:由中文以及英文字母组成4.5 系统难点分析本系统最大的难点有:对各个面板和功能之间的相互连接、实现数据的共享;实现对每个类的方法之间的调用,配置数据库的连接,完成英译汉、汉译英。第 五 章 系统设计5.1系统的总体设计5.1.1系统的功能模块设计系统模块设计分为3大项,分别是:文件模块,编辑模块和帮助模块。1.文件模块:文件模块分为4小项:汉译英模块,汉译英模块,词库备份,退出系统模块。2.编辑模块:编辑模块分为3小项:添加词汇模块,修改词汇模块,删除词汇模块。3.帮助模块:帮助模块分为2小项,分别是:帮助模块,关于模块系统的功能模块图:电子词典文件编辑帮助英汉词典汉英词典退出系统添加词汇修改词汇删除词汇 帮助 关于备份词库图5.1系统的功能模块图5.2 系统的详细设计5.2.1 概念设计概念设计即是利用设计概念并以其为主线贯穿全部设计过程的设计方法。概念设计是完整而全面的设计过程,它通过设计概念将设计者繁复的感性和瞬间思维上升到统一的理性思维从而完成整个设计。如果说概念设计是一篇文章,那么设计概念则是这篇文章的主题思想。概念设计围绕设计概念而展开,设计概念则联系着概念设计的方方面面。下面是各模块的E-R图: 文件英译汉汉译英备份词库退出 图5.2 文件模块子E-R图 编辑添加词汇修改词汇删除词汇 图5.2编辑模块子E-R图 帮助帮助关于 图5.3帮助模块子E-R图5.3 系统的物理设计数据库物理设计阶段的任务是根据具计算机系统(硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法。有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。为了设计数据库的物理结构,设计人员必须充分了解所用硬件的内部特征;充分了解数据系统的实际应用环境,特别是数据应用处理的频率和响应时间的要求;充分了解外存储设备的特性。数据库的物理结构设计大致包括:确定数据的存取方法、确定数据的存储结构。物理结构设计阶段实现的是数据库系统的内模式,它的质量直接决定了整个系统的性能。因此在确定数据库的存储结构和存取方法之前,对数据库系统所支持的事务要进行仔细分析,获得优化数据库物理设计的参数。对于数据库查询事务,需要得到如下信息:1.要查询的关系。2.查询条件(即选择条件)所涉及的属性。3.连接条件所涉及的属性。4.查询的投影属性。对于数据更新事务,需要得到如下信息:1.要更新的关系。2.每个关系上的更新操作的类型。3.删除和修改操作所涉及的属性。4.修改操作要更改的属性值。5.确定数据库的存储结构。6.确定系统存储参数的配置。第 六 章 总体设计61 算法的实现起初连接数据库的语句全部都是在调用页一句一句的书写,这样一来不仅做了很多重复的工作,而且使页面看起来很繁琐,经过翻阅书籍发现可以将连接数据库的语句统一放到一个页面里,然后在需要调用连接数据库语句的页面调用就可以了,这样既节省时间,又避免出现书写错误。6.2 字符串的联系在测试数据查询模块时,发现对字符串的比较存在大小写之分,所以要先将要比较的两个字符串转化成相同的格式或者强行限制输入的字符串大小写相同,然后再进行比较;如果查询的结果为空,那么应该给出提示信息,这样才能真正做到人机界面的交互。6.3 数据库设计6.3.1 数据库图表6.1英译汉词汇表字段名字段类型长度备注yingwudancichar30可为空cixingchar10可为空jieshichar50可为空6.3.2 数据库的约束与关系本系统的数据库采用的是access简单的数据库,之前在电脑上尝试过使用SQL和MYSQL等都因系统兼容性不能正常使用。Access数据库只选择了一张表建立了单词的英文单词、解释、词性。通过算法的设计、实现了英译汉、汉译英、单词查询、添加、修改和删除的各项功能的相互转换。6.4 系统的实现6.4.1 主界面功能实现在此模块内,用户如果想使用组内其他成员的功能时,有两种实现方法。一种是在编辑菜单下选择添加词汇;另一种是通过主界面下面的按钮调用其他成员的功能模块。主界面主要由主界面主要由两个面版,五个按钮,一个文本框,一个文本区,一个标签和一个菜单栏组成。在文本框中输入要查询的数据。文本区中显示查询的结果。主要方法包括:DataWindow()为构造方法,创建用户添加词汇界面;与actionPerformed()为接口方法,处理ActionEvent事件。下面是主界面程序部分源代码:this.setBounds(250,250,600,400);/设置面板大小this.setVisible(true); /设置面板可见 getContentPane().add(new JScrollPane(chinesetext);mbar = new JMenuBar();setJMenuBar(mbar);mbar.setOpaque(true);mfile = new JMenu(文件);medit = new JMenu(编辑);mhelp = new JMenu(帮助);mbar.add(mfile);mbar.add(medit);mbar.add(mhelp);edic = new JMenuItem(英汉词典);cdic = new JMenuItem(汉英词典);back_data = new JMenuItem(备份词库);quit = new JMenuItem( 退出);/文件菜单addedit = new JMenuItem(添加词汇);modedit = new JMenuItem(修改词汇);deledit = new JMenuItem(删除词汇);/编辑菜单hhelp = new JMenuItem(帮助);about = new JMenuItem(关于.);/帮助菜单图 6.1 主界面6.4.2 英译汉功能实现此功能模块主要是针对已经存在于单词库中的单词,通过编辑菜单中的英汉词典功能,在主界面的文本框中输入要查询的单词,单击查询按钮进行查询。结果显示在主界面的文本区中。下面是部分源代码: else if(e.getSource()=edic) /英汉label.setText(输入要查询的英语单词:);b1.setVisible(true);b5.setVisible(true);图 6.2 查询图6.4.3 汉译英功能及词库备份实现else if(e.getSource()=cdic) /汉英label.setText(输入要查询的汉语意思:);b1.setVisible(true);b5.setVisible(true);else if(e.getSource()=back_data) /备份File fromfile = new File(englishenglish.mdb);FileInputStream fis = null;filedialog_save.setVisible(true);tryfis = new FileInputStream(fromfile);int bytesRead; /定义变量来存储输入流中读取出来的文件byte buf = new byte4*1024; /4K bufferFile tofile = new File(filedialog_save.getDirectory(),filedialog_save.getFile();FileOutputStream fos = new FileOutputStream(tofile);while(bytesRead = fis.read(buf)!=-1)fos.write(buf,0,bytesRead);fos.flush();fos.close();fis.close();catch(IOException e2) 图 6.3查询图6.4.4 查询类的实现及数据库绑定public void Listwords() throws SQLException /实现查询功能String cname,ename;tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);/数据库的连接catch(ClassNotFoundException e)/建立桥接器Connection Ex1Con = DriverManager.getConnection(jdbc:odbc:fanyi);Statement Ex1Stmt = Ex1Con.createStatement();if(label.getText().equals(输入要查询的英语单词:)ResultSet rs = Ex1Stmt.executeQuery(SELECT * FROM 表1);while( rs.next()ename = rs.getString(单词);cname = rs.getString(解释);if(ename.equals(englishtext.getText()chinesetext.append(cname+n);Ex1Con.close(); /关闭数据库6.4.5 添加类的实现及数据库绑定public void 添加() throws SQLException /实现添加功能String cname, ename;try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch (ClassNotFoundException e) Con = DriverManager.getConnection(jdbc:odbc:fanyi);Stmt = Con.createStatement();ResultSet rs = Stmt.executeQuery(SELECT * FROM 表1);boolean boo = false;while (boo = rs.next() = true) ename = rs.getString(单词);cname = rs.getString(解释);if (ename.equals(添加英语单词_文本条.getText() JOptionPane.showMessageDialog(this, 此词汇已存在!, 警告,JOptionPane.WARNING_MESSAGE);break;图 6.4单词添加运行图6.4.6 修改类的实现及数据库绑定Connection Con = null;/连接对象Statement Stmt = null;ModifyWin() super(修改);this.setBounds(250, 250, 250, 200);this.setVisible(true);JPanel p = new JPanel();p.add(new Label(输入英语单词:);修改英语单词_文本条 = new JTextField(20);p.add(修改英语单词_文本条);p.add(new Label(输入该单词修改的汉语解释:);修改汉语解释_文本条 = new JTextField(20);p.add(修改汉语解释_文本条);public void actionPerformed(ActionEvent e) if (e.getSource() = modifybtn) if (修改英语单词_文本条.getText().equals() |修改汉语解释_文本条.getText().equals()JOptionPane.showMessageDialog(this, 修改的单词或解释不能为空!, 警告,JOptionPane.WARNING_MESSAGE);public void 修改() throws SQLException /实现修改功能String cname, ename;try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch (ClassNotFoundException e) Con = DriverManager.getConnection(jdbc:odbc:fanyi);Stmt = Con.createStatement();ResultSet rs = Stmt.executeQuery(SELECT * FROM 表1);Con.close();if (boo = false) JOptionPane.showMessageDialog(this, 不存在此单词!, 警告,JOptionPane.WARNING_MESSAGE);图 6.5 修改词汇图6.4.7 删除类的实现及数据库绑定public void actionPerformed(ActionEvent e) if (e.getSource() = delbtn) if (删除单词_文本条.getText().equals() JOptionPane.showMessageDialog(this, 删除的单词不能为空!, 警告,JOptionPane.WARNING_MESSAGE);public void 删除() throws SQLException /实现删除功能String cname, ename;try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch (ClassNotFoundException e) Con = DriverManager.getConnection(jdbc:odbc:fanyi);Stmt = Con.createStatement();ResultSet rs = Stmt.executeQuery(SELECT * FROM 表1);boolean boo = false;while (boo = rs.next() = true) ename = rs.getString(单词);cname = rs.getString(解释);if (ename.equals(删除单词_文本条.getText() String s1 = + 删除单词_文本条.getText().trim() + ;String temp = DELETE FROM 表1 WHERE 单词= + s1;Stmt.executeUpdate(temp);JOptionPane.showMessageDialog(this, 成功删除记录!, 恭喜,JOptionPane.WARNING_MESSAGE);dispose();break;Con.close();if (boo = false) JOptionPane.showMessageDialog(this, 不存在此单词!, 警告,JOptionPane.WARNING_MESSAGE); 图 6.6 删除词汇图第 七 章 Socket编程7.1 Socket编程socket是“openwrite/readclose”模式的一种实现,那么socket就提供了这些操作对应的函数接口。程连接该客户端是记录线程ID和socket套接字,将这两个数据保存到map容器里,当客户端退出时删除map容器里该客户端数据,遍历map容器就知道连接了多少客户端,通过访问服务器的线程从而实现联网查询。7.2 Socket的实现 Service(服务器):tryServerSocket server=null;tryserver=new ServerSocket(4700);/ 创建一个ServerSocket在端口4700监听客户请求catch(Exception e) System.out.println(can not listen to:+e);Socket socket=null;trysocket=server.accept();/ 使用accept()阻塞等待客户请求,有客户/ 请求到来则产生一个Socket对象,并继续执行catch(Exception e) System.out.println(Error.+e);String line;BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream();/ 由Socket对象得到输入流,并构造相应的BufferedReader对象PrintWriter os=new PrintWriter(socket.getOutputStream();/ 由Socket对象得到输出流,并构造PrintWriter对象BufferedReader sin=new BufferedReader(new InputStreamReader(System.in);/ 由系统标准输入设备构造BufferedReader对象System.out.println(Client:+is.readLine();/ 在标准输出上打印从客户端读入的字符串line=sin.readLine();/ 从标准输入读入一字符串while(!line.equals(bye)/ 如果该字符串为 bye,则停止循环os.println(line);/ 向客户端输出该字符串os.flush();/ 刷新输出流,使Client马上收到该字符串System.out.println(Server:+line);/ 在系统标准输出上打印读入的字符串System.out.println(Client:+is.readLine();/ 从Client读入一字符串,并打印到标准输出上line=sin.readLine();/ 从系统标准输入读入一字符串/ 继续循环os.close(); / 关闭Socket输出流is.close(); / 关闭Socket输入流socket.close(); / 关闭Socketserver.close(); / 关闭ServerSocketcatch(Exception e)System.out.println(Error:+e); Client(客户端):trySocket socket=new Socket(127.0.0.1,4700);/ 向本机的4700端口发出客户请求BufferedReader sin=new BufferedReader(new InputStreamReader(System.in);/ 由系统标准输入设备构造BufferedReader对象PrintWriter os=new PrintWriter(socket.getOutputStream();/ 由Socket对象得到输出流,并构造PrintWriter对象BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream();/ 由Socket对象得到输入流,并构造相应的BufferedReader对象String readline;readline=sin.readLine(); / 从系统标准输入读入一字符串while(!readline.equals(bye)/ 若从标准输入读入的字符串为bye则停止循环os.println(readline);/将从系统标准输入读入的字符串输出到Serveros.flush();/ 刷新输出流,使Server马上收到该字符串System.out.println(Client:+readline);/ 在系统标准输出上打印读入的字符串Sys
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 风险管理中的沟通渠道优化试题及答案
- 2025年公司战略与行业风险趋势研究试题及答案
- 2025年法学概论考试的法律实务技能与试题及答案
- 2025年生态风险与公司战略的关系试题及答案
- 2025冷冻鲍鱼买卖合同书
- 建立并维护客户关系的计划
- 风险管理中的团队协作与沟通试题及答案
- 公司未来发展的蓝图计划
- 2025年度物品保管合同示范文本
- 数据通信原理试题及答案
- 早产的护理查房课件
- 国家智慧教育平台培训课件
- 针灸科出科个人小结
- 2013黑龙江公务员职位表
- 2024年江苏南通醋酸纤维有限公司招聘笔试参考题库含答案解析
- 普通高中地理课程标准(2023年版)
- 现代通信技术应用专业人才需求调研报告
- 天师大和韩国世翰大学研究生入学英语试题
- 2023年高考真题-政治(江苏卷)含解析
- 领导干部个人事项少报漏报说明
- 乌鲁木齐市小学毕业生登记表
评论
0/150
提交评论