java课程设计-文件管理系统
课 程 设 计
课程设计名称: java课程设计 专 业 班 级 : 计科卓F1201班级 学 生 姓 名 : 陈张涛 学 号 : 201216010109 指 导 教 师 : 郑丽萍 课程设计时间: 2014.6.30-2014.7.11
目录
目录 ------------------------ 1
课程设计任务书 ------------------------- 2 一、需求分析 ------------------------- 3 二、概要设计 ------------------------- 4 三、开发语言 ------------------------- 4四、详细设计 ------------------------ 4 五、调试与分析 ------------------------- 13 六、功能测试 ------------------------- 14 七、结论与心得 -------------------------- 15 八、参考资料 -------------------------- 16 九、成绩评价表 -------------------------- 17
计算机科学技术(卓越计划) 专业课程设计任务书
文件管理系统
一、需求分析
题目要求对文件进行复制,压缩,解压等操作,相当于一个简单的文管理系统。对此我新加了剪切,删除,和重命名等功能。程序的整体输入控制是采用图形用户界面,同时为了减少用户输入时不必要的错误,程序还支持文件选择器功能,用户可以直接点击相应的按钮选择相应的文件或文件夹。
(1) 复制功能实现了将文件复制到指定的文件夹中(包括文件夹的复制
和单个文件的复制),同时允许用户选择不同类型的文件复制。其中有全文件复制(文件夹里所有文件全部复制)、无空文件夹的文件复制(即复制的文件夹不含空文件夹)、指定参数的文件复制(即文件夹复制时可以指定相应的类型参数doc、txt等选择要被复制的文件类型)。
(2) 压缩功能实现将文件压缩到指定路径(包括单个文件的压缩和文件
夹的压缩)。
(3) 解压功能实现将指定的压缩文件解压到指定的路径
(4) 剪切功能实现将制订文件夹下的文件剪切到制订的文件夹下,与复
制不同的,剪切后该文件只存在于剪切后的文件夹。
(5) 删除功能实现了文件的删除和文件夹删除,其中文件的删除可以直
调用文件的方法删除文件,而文件夹的删除必须递归删除文件夹中的所有文件,然后再层层调用方法删除文件夹。
(6) 重命名功能实现对指定文件夹下的文件的重命名,如果该文件夹下
已经存在该文件名,则提示重新命名
二、概要设计
图2-1设计模块图
图2-2系统流程图
三、运行环境、开发语言
Eclipse、Java 四、详细设计
1 程序清单
表4-1主要列出了各个文件实现的功能
表4-1 程序清单
表4-2主要列出Copytest.java文件中各个方法的所实现的功能。其余文件的 方法基本都是用于图形用户界面的设置,在此就不一一例举。
表4-2 Copytest.java中方法清单
2 主要代码
2.1菜单界面
运行程序时会弹出一个菜单界面,供用户选择相应的文件操作。包括复制、压缩、解压、剪切、删除、重命名。该功能截图如图2-1所示.
图4-1 菜单功能界面 2.2复制界面
点击复制选项,会弹出窗口,如图4-2所示。在文本框里输入相应信息,或者直接点击相应的按钮,通过文件选择器选择文件,获取路径信息,如图4-3所示。具体代码如下:
图4-2 文件复制 图4-3文件选择器选择文件
(1) 复制功能代码,用于调用 //单个文件复制,用于调用
public static void doCopy(String path1,String path2,String name){ Reader in= null; Writer out= null; try { in = new FileReader(path1+"/"+name); out = new FileWriter(path2+"/"+name);
int len= 0; char[] c= new char[1024]; while((len= in.read(c))!=-1){ out.write(c,0,len); } } catch (IOException e) { e.printStackTrace(); }finally{ try { in.close(); out.close(); } catch (IOException e) { e.printStackTrace(); } } }
(2)无参数的文件复制,递归遍历文件夹,调用doCopy()方法实现复制 //无参数文件夹复制(含空文件夹)
public static void copy(String frompath,String topath){ File ffile = new File(frompath); File[] fs = ffile.listFiles(); if(fs != null){ for(File f : fs){ if(f.isDirectory()){ new File(topath +"/"+ f.getName()).mkdirs(); copy(f.getAbsolutePath(),topath +"/"+ f.getName()); } else{ doCopy(frompath,topath,f.getName()); //执行文件复制操作 } } } }
(3)功能是在全文件复制的基础上改动的,在方法中增加判断语句,如果是空文件夹就不复制。 //无空文件夹的复制
public static void emptycopy(String frompath,String topath){ File ffile = new File(frompath); File[] fs = ffile.listFiles(); if(fs != null){ for(File f : fs){ if(f.isDirectory()){ if((f.listFiles()).length>0){
new File(topath +"/"+ f.getName()).mkdirs(); emptycopy(f.getAbsolutePath(),topath +"/"+ f.getName()); } } else{ doCopy(frompath,topath,f.getName()); //执行文件复制操作 } } } }
(4)从用户输入操作获取要被复制的文件类型,然后通过数组传递参数,根据参数来限制复制的文件类型 //有参数限制的文件复制
public static void extcopy(String frompath,String topath,String[] temp){ File fromfile = new File(frompath); File[] fs = fromfile.listFiles(); if(fs != null){ for(File f : fs){ //如果是文件夹则进行递归调用 if(f.isDirectory()){ if((f.listFiles()).length>0){ new File(topath +"/"+ f.getName()).mkdirs(); extcopy(f.getAbsolutePath(),topath +"/"+ f.getName(),temp); } } //如果是文件则进行判断 else{
for(int i=0;i<temp.length;i++){ if(f.getName().endsWith(temp[i])){ //过滤不符合要求的文件
doCopy(frompath,topath,f.getName());//执行文件复制操作 } } } } } }
2.3 压缩界面
点击压缩选项,会弹出窗口,如图4-4所示。在文本框里输入相应信息,或
者直接点击相应的按钮,通过文件选择器选择文件,获取路径信息,类似可参照图4-3。具体代码如下:
图4-4 文件压缩界面
(1)通过该方法传递路径信息,同时调用递归遍历的方法
//文件压缩
public static void compactFile(String source,String target){ try{ out = new ZipOutputStream(new BufferedOutputStream (new FileOutputStream(target))); // 创建压缩文件输 …… 此处隐藏:3748字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [资格考试]石油钻采专业设备项目可行性研究报告编
- [资格考试]2012-2013学年度第二学期麻风病防治知
- [资格考试]道路勘测设计 绪论
- [资格考试]控烟戒烟知识培训资料
- [资格考试]建设工程安全生产管理(三类人员安全员
- [资格考试]photoshop制作茶叶包装盒步骤平面效果
- [资格考试]授课进度计划表封面(09-10下施工)
- [资格考试]麦肯锡卓越工作方法读后感
- [资格考试]2007年广西区农村信用社招聘考试试题
- [资格考试]软件实施工程师笔试题
- [资格考试]2014年初三数学复习专练第一章 数与式(
- [资格考试]中国糯玉米汁饮料市场发展概况及投资战
- [资格考试]塑钢门窗安装((专项方案)15)
- [资格考试]初中数学答题卡模板2
- [资格考试]2015-2020年中国效率手册行业市场调查
- [资格考试]华北电力大学学习实践活动领导小组办公
- [资格考试]溃疡性结肠炎研究的新进展
- [资格考试]人教版高中语文1—5册(必修)背诵篇目名
- [资格考试]ISO9001-2018质量管理体系最新版标准
- [资格考试]论文之希尔顿酒店集团进入中国的战略研
- 全国中小学生转学申请表
- 《奇迹暖暖》17-支2文学少女小满(9)公
- 2019-2020学年八年级地理下册 第六章
- 2005年高考试题——英语(天津卷)
- 无纺布耐磨测试方法及标准
- 建筑工程施工劳动力安排计划
- (目录)中国中央空调行业市场深度调研分
- 中国期货价格期限结构模型实证分析
- AutoCAD 2016基础教程第2章 AutoCAD基
- 2014-2015学年西城初三期末数学试题及
- 机械加工工艺基础(完整版)
- 归因理论在管理中的应用[1]0
- 突破瓶颈 实现医院可持续发展
- 2014年南京师范大学商学院决策学招生目
- 现浇箱梁支架预压报告
- Excel_2010函数图表入门与实战
- 人教版新课标初中数学 13.1 轴对称 (
- Visual Basic 6.0程序设计教程电子教案
- 2010北京助理工程师考试复习《建筑施工
- 国外5大医疗互联网模式分析




