个人项目(java)

Posted yueson

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了个人项目(java)相关的知识,希望对你有一定的参考价值。

一.Github地址:https://github.com/Yueson-Lu/filemanger

二.PSP表格

PSP2.1Personal Software Process Stages预估耗时(分钟)(估计值3)实际耗时(分钟)
Planning 计划 25 20
· Estimate · 估计这个任务需要多少时间 25 20
Development 开发 1020 1140
· Analysis · 需求分析 (包括学习新技术) 300 340
· Design Spec · 生成设计文档 60 65
· Design Review · 设计复审 (和同事审核设计文档) 50 45
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 30 45
· Design · 具体设计 200 310
· Coding · 具体编码 300 240
· Code Review · 代码复审 30 30
· Test · 测试(自我测试,修改代码,提交修改) 50 65
Reporting 报告 90 140
· Test Report · 测试报告 40 50
· Size Measurement · 计算工作量 20 50
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 30 40
合计   1135 1300

三.解题思路

看完文献后,发现这个项目的要求是对文件的一些操作。根据项目需求,做了一下的编码计划和实行情况。

1.文件的I/O操作

使用传统的输入输出流FileOutputStream和FileOutputStream读取文件。

 

2.文件的操作

对于文件的操作有统计字符数,行数,空行数,注释行数和空格数等,对与这里为了高效率,所以把所有的方法都写在一个类里面,在调试的时候,使用断点调试。在判断字符数就是使用读取行的长度累加,最后减去空格数。在判断注释行的时候比较麻烦,特别是块注释,因此加入了一个标志,判断块注释的起止。在计算空格数的时候,把字符串拆分成字符数组,判断是否为空。

 

3.递归文件的实现

一开始对list类和file类不熟悉,花了很多事件去了解。最后还是决定用字符串数组来存储文件的名称。在写getlist方法的时候,直接将文件的路径写进去,导致文件列表总是为空,后来才思考清楚,项目要求的要扫描的是文件夹的东西,而不是对这个文件进行匹配。

扫描的时候应该获取的是选取文件的父地址,改过来后,能正常扫描文件。

 

4.设计界面

界面的设计比较困难的是对于java的布局管理不熟悉,在排布的时候显示不出界面。后来了解到,添加和修改界面之后,要对界面你刷新。

还有一个空指针的问题,由于界面是靠键盘输入命令启动的,而输出数值是写在统计的方法里面的,在使用键盘输入的时候,可以选取统计,但是此时界面没有打开,会显示无法输出,因为找不到输出的界面。因此我加入了标志,

有两种输出的模式,分别在界面和控制台。

 

5.键盘控制

可以在控制台使用命令输入。这里使用了Scanner类获取键盘输入的内容。

命令:

1.-c 表示选取文件

2.-l 表示统计文件

3.-w表示图形界面

4.-z 表示搜索文件"

 

 四.设计流程图/方法调用

技术图片

 

五.测试

 包括:空文件,单字符文件,多字符文件(注释,空行,空格)

技术图片

 

 

技术图片

 

 

技术图片

 

 

技术图片

 

 技术图片

 

 代码覆盖率:

 

总结:本次的项目从开始到结束大约用了7天,很多的问题都是在路上和上课的时候想出解决办法的。这个项目使我学到很多东西,体会到了只有认真学习,积累做够多的经验才能得心应手地工作。我以后会继续努力,争取早日成为优秀的程序猿。

以上是关于个人项目(java)的主要内容,如果未能解决你的问题,请参考以下文章

Java精品项目源码第93期个人博客系统

Java精品项目源码第133期个人投资理财系统

个人项目WC(java实现)

软工个人项目WC(Java实现)

个人项目(JAVA实现)

个人项目Wc.exe(JAVA)