77范文网 - 专业文章范例文档资料分享平台

基于Java技术的即时聊天系统实现(4)

来源:网络收集 时间:2019-03-09 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

商丘师范学院2015届本科毕业论文(设计)

重组发送表情:

private String buildPicInfo(){ StringBuilder all = new StringBuilder(\ for(int i = 0; i < this.jtp2.getText().length(); i++){ if(DMsg.getName().equals(\

Icon icon = StyleConstants.getIcon(jtp2.getStyledDocument().getAttributes()); FriendChatIcon Fch = (FriendChatIcon)icons;

PictureInfo pictureInfo= new PictureInfo (i,String.valueOf(Fch.getId())); AllPictureInfo.add(pictureInfo); all.append(i+\ }

} }

重组收到的表情信息串:

public void receivedPicInfo(String pic){

String[] PicInfo = pic.split(\ FOR(Int i = 0 ; i < PicInfo.length ; i++){ String[] pp = PicInfo [i].split(\ if(pp.length==2){ PicInfo Spic = new PicInfo(Integer.parseInt(pp [0]), pp [1]); AddreceivdPicture.add(Spic);//将表情添加到滚动列表中 } } }

图5-8表情窗口

5.2.8 文件的发送 发送文件是很多聊天系统都拥有的功能,在本系统中我们能够发送文本文件、音乐、视频等,能够给用户提供更多的服务。对于如何发送文件,这是个值得探讨的问题。在Java中,它提供了很多能够发送文件的方法,例如字符流、字节流、对象流等,但是在服务器端、客户端我们一直使用的是对象流进行数据的接受、发送,从而使发送的信息不至于错乱。考虑到我们不可能专门为发送文件再写一个服务器端,因此,对于文件的发送我们再次的使用对象流的形式进行发送,同样文件的发送也可以多对多的发送,不会造成错乱。文件的发送方式已经解决,那么对于文件的读取方式我们需要再次进行思考,由于发送的文件除了有文本文件,还有音乐、视频等,我们不可能直接使用字符流的方式进行读取,因此,我们只能

13

商丘师范学院2015届本科毕业论文(设计)

采用字节流的形式读取文件。此时,文件的读取方式、发送方式已经确定,剩下的就是写入方式了,既然我们采用的是字节流的方式读取的,就应该用字节流的方式进行写入,如何采用字符流的方式写入,会出现一些意想不到的问题,例如:文本文件可能会有乱码,一些图片、exe文件等打不开的问题。代码如下: 文件的读取和发送:

FileInputStream fis =new FileInputStream(filePath); byte []bytes=new byte[1024*4]; while((fis.read(bytes))!=-1){ sm.setBytes(bytes);

ObjectOutputStream pos=new ObjectOutputStream(getOutputStream()); pos.writeObject(sm); }

文件的写入:

FileOutputStream ps=new FileOutputStream(sm.getSavepath()+\ps.write(sm.Bytes()); 5.2.9 历史记录 历史记录是每一个即时聊天系统必备的功能,本系统的历史记录做的相对比较简单,除了能够在每一页显示规定的记录条数之外,还能够显示当前页数和总页数,用户能够通过点击上一页和下一页进行翻看历史记录。代码如下:

public void AppendReceiveChatRecord(ArrayList List){ //接受到的聊天历史信息追加

jtp3.setText(\ For(Int i=0;i< List.size();i++){ String []str=(String[]) al.get(i); System.out.println(str[0]+\ String msg=str[0]+\ dateFont.setMessage(msg); insertrecord(dateFont);//插入标题 String s=str[2]; String []Fmsg=s.split(\ String []ss=Fmsg[3].substring(17, Fmsg[3].length()-1).split(\ int r=Integer.parseInt(ss[0]); int g=Integer.parseInt(ss[1].substring(2)); int b=Integer.parseInt(ss[2].substring(2));

myFont=getRecivedFont(str[3],Fmsg[0],Integer.parseInt(Fmsg[1]), Integer.parseInt(Fmsg[2]), new Color(r, g, b)); pos3 = jtp3.getCaretPosition(); insertrecord(myFont); receivedPicInfo(str[4]); insertchatpic(); } }

14

商丘师范学院2015届本科毕业论文(设计)

6 测试阶段

软件测试不是等到开发完成以后才进行的,而是伴随着软件生命周期的整个过程,判断软件是否达到要求等。对于本软件的测试情况,我本着一个经过惠普软件测试培训者的心态,对即时聊天系统进行了相对全面的测试,各个界面的功能全部实现,从登录到注册再到修改密码,完全的没有问题,从用户添加好友、删除好友,移动黑名单,多人聊天,到发送文件等都已经实现了软件需求的功能,因此,对于此次设计的软件我还是相对比较满意的。对于软件中存在的Bug已经进行了相对的修改,对于可能隐藏的问题,我只能在后续的发现后立即进行修改;没有一个软件是没有绝对没有漏洞的,唯有我们慢慢的去发现。

总 结

通过本次毕业设计,能够从中学到很多以前在课堂上学不到的知识。我们在大学的前三年中学到了很多编程语言知识,无论从最初的C语言,接着C++,后来的VB,到最后的Java等,虽然我们学了很多理论上的知识,但是很少有时间去付诸实践。这次设计让我真正的感觉到自己学到了一些东西,并且功能设计出自己想要的软件。虽然在设计的过程中,难免会遇到问题难以解决,通过查阅资料上网查找答案等,让我知道这些问题并不是只有自己遇到,同样的在学习的过程中别人也遇到过,我们应该将其攻破克服,只有这样我们才能够掌握更多的知识,对知识更加的理解,不能因为一个小小的问题就轻言放弃。在开发的时候发现Java语言有些地方让自己感到头痛,动不动就要重写类,而且重写之后系统还不稳定,例如:JTree的节点图标和把柄图标的修改,前期修改的时候,图标完全是叠加在一起的,现如今虽然稳定了一些,但是有时还是会出来这样的问题。对于如果想要实现自己的方法,就有重写Java类,而且有些自己还不会重写,这是最让人烦恼的;曾经想过要放弃,重新选择一个设计,最后终于还是坚持过来了。学习编程语言本来就是一件不容易的事情,我们不能遇到问题就轻言的放弃,而是要坚持到底,我们才能够学到知识,学到比别人好,懂的比别人多。总之,本次课题设计的研究让我懂得了更多的知识,对Java语言有了进一步的了解;同时觉得自己运用到自己学习到的知识能够设计出自己想要的东西,这是自己感觉最高兴的事情。希望在以后能够学的更多,学到更好!

参考文献

[1] 印旻,王行言.Java语言与面向对象程序设计(第二版)[M].北京:清华大学出版社,2007.11

[2] 辛运帏,饶一梅.Java语言程序设计[M].北京:人民邮电出版社,2009.10 [3] 张晓龙,刘钊.JAVA程序设计基础[M].北京:清华大学出版社,2010.7

[4] 邱李华.SQL Server 2008数据库应用教程(第二版)[M].北京:人民邮电出版社,2012.8 [5] 王珊,萨师煊.数据库系统概论(第四版)[M].北京:高等教育出版社,2006.5

致 谢

在论文即将完成时候,我有种如释重负的感觉。从选择这个课题之后,我就在为完成它而不停的努力着,无论是从最基础的Java知识点开始学起,还是到如今将整个系统开发完

15

商丘师范学院2015届本科毕业论文(设计)

成,这里不仅仅有我个人的辛苦努力,同时还有指导老师的帮忙,还有那些帮助我的朋友们,在这里我向你们送上最真挚的谢意,谢谢你们的帮忙,让我能够从当初的一无所知,到整个论文的完成,这里不只有我个人的功劳,同时还有你们的功劳,谢谢!

16

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于Java技术的即时聊天系统实现(4)在线全文阅读。

基于Java技术的即时聊天系统实现(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/505222.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: