java课程设计word文档备份程序.doc

上传人:精*** 文档编号:865455 上传时间:2023-10-05 格式:DOC 页数:19 大小:289KB
下载 相关 举报
java课程设计word文档备份程序.doc_第1页
第1页 / 共19页
java课程设计word文档备份程序.doc_第2页
第2页 / 共19页
java课程设计word文档备份程序.doc_第3页
第3页 / 共19页
java课程设计word文档备份程序.doc_第4页
第4页 / 共19页
java课程设计word文档备份程序.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、攀枝花学院JAVA课程设计摘 要该课程设计的主要内容是:现在很多人人使用office,word文档更是很普遍。对于大部分电脑用户,word文档丢失更是很普遍的事,这次的小程序就是备份一个目录下的所有word文档,当然现阶段采用的是控制台实现的,需要用户自己输入word文档的源地址,和要备份到的目的地址。后期扩展以后可以选择要备份的文件类型以后缀名来辨别,备份文件之前需要输入想要备份的文件类型的后缀名例如:word文档的后缀名是doc,就需要输入doc。很方便的帮助用户实现文件的备份和复制。关键字:备份,word文档,复制,地址,文件类型。目录课程设计(论文)指导教师成绩评定表3摘 要41 前言

2、62 相关技术分析72.1总体分析72.2程序执行框图:73 设计与实现83.1所需导入的包83.2所用到的类83.3所用到的方法83.4总体设计93.5主要程序结构框图124.调试及检验134.1检验备份word文档134.2检验备份其它文件16结论18参考文档19附源程序代码:201 前言word文档是每个用电脑的人基本上都会使用的一种储存文本信息的格式,对于一些重要的word文档,通常需要备份,少数的文档都可以是使用鼠标点击复制粘贴来实现,而对于文档太多,用鼠标选择不放方便的情况,这个小程序就是在文档太多的情况下使用的,可以将一个目录下的所有word文档类型的文件都复制到指定文件夹。经过

3、小小的改进支持复制各种带后缀名的文件,但不支持文件夹。使用这个小程序可以帮助用户复制一个目录下的同一类型的文件到指定的文件夹,程序可以自动判断要复制的目标文件夹是否存在,还可以判断目的文件夹是否合法,如果合法但不存在,那没就会建立相应的文件夹来存放复制的文档。随文档复制还会创建一个txt文件里面会有复制的文件的记录,复制的文件不能重名,不然会覆盖已存在的文件。2 相关技术分析2.1总体分析首先需要三个File类的对象,一个用来指向需要备份的文件夹,一个用来指向目的文件夹,一个用来向目标文件写入记录。并且第一个指向需要备份的文件夹的需要用FileInputString来包装。而第二个指向目的文件

4、夹的需要用FileOutputString来包装。第三个索引写入的字符型数据所以用FileWriter来包装。而需要输入地址所以是要创建Scanner对象输入并且使用String对象来存储地址,再使用File类创建的空索引指向String类所代表的地址。2.2程序执行框图:图2.2.13 设计与实现3.1所需导入的包import java.io.*;import java.util.*3.2所用到的类File类Scanner类String类FileoutputString类FileInputString类FileWriter类3.3所用到的方法File类中 :exists()方法; isFil

5、e()方法; getName()方法;Scanner类中:next()方法;nextBoolean()方法;String类中: endsWith()方法;FileoutputString类中:write()方法;close()方法;FileInputString类中:read()方法;close()方法;FileWriter类中:writer()方法;close()方法;注:所有的方法的参数均未填写。3.4总体设计File类创建三个索引一个用来指向需要备份的文件夹,一个用来指向目的文件夹,一个用来向目标文件写入记录。File fie ;File foe ;File records;定义三个St

6、ring类型的索引用来提供位置和文件的类型第一个是存储用户输入的需备份的文件夹的地址fil;String fil =null;第二个是存储用户输入的备份的目的地址fol;String fol=null;第三个是存储用户输入的文件后缀名的地址type;String type =null;如果后缀名没有输入则默认为以doc结尾的word文档。然后创建Scanner对象:Scanner scanner =new Scanner(System.in);其中fie是用来关联需要备份的目标的索引,fie =new File(fil);其中foe是用来关联备份目的地的索引,foe =new File(fol

7、);其中records是用来关联写入记录的文件records.txt,records=new File(foe,records.txt);使用exists()方法和isFile()方法判断文件的路径是否存在和合法如果不合法执行continue,结束本次循环。要求用户重新输入地址和文件后缀名。之后使用File类中的listFiles()方法获取fil目录下的所有文件对象,存入File中,用加强型for循环取得数组中的对象命名为fie2逐一调用数组里面的的File类对象的getName()方法返回文件全名并调用String类的boolean endsWith(String suffix)方法,测试

8、此字符串是否以指定的后缀结束。if(fie2.isFile() &( fie2.getName().endsWith(.doc)|fie2.getName().endsWith(.+type)以上综合判断该文件是否被备份使用FileInputStream包装获得的文件对象fie2,FileInputStream fr =new FileInputStream(fie2);使用FileOutputStream包装写入的文件对象foe2FileOutputStream fw =new FileOutputStream(foe2);使用byte创建一个缓冲区,byte bf=new byte100;

9、使用wile循环调用fr的read()方法;while(i=fr.read(bf)0)fw.write(bf, 0, i);使用FileWriter包装records对象FileWriter record =new FileWriter(records);再调用fie2的getName()方法并且使用record的writer()方法record.write(fie2.getName()+rn);写入文件records.txt中。所有文件写入完成之后使用Scanner类中的nextBoolean()方法flag= scanner.nextBoolean();System.out.println

10、(true(继续备份) false(退出程序);让用户选择是否继续备份其他文件3.5主要程序结构框图图3.5.14.调试及检验4.1检验备份word文档图4.1.1图4.1.2图4.1.3图4.1.4图4.1.5图4.1.6图4.1.7由上述结果可以看出备份成功!但是新的word文档的后缀名为docx所以没有备份到!突然发现一个bugif(fie2.isFile() &( fie2.getName().endsWith(.doc)|fie2.getName().endsWith(.+type)上面的语句中fie2.getName().endsWith(.doc)|fie2.getName().

11、endsWith(.+type)这里用的是| |,也就是说如果输入的不是doc而是 其他格式,也会将以doc为后缀的文件也就是word文档给复制。应该改为if(type=null)if(fie2.isFile() &fie2.getName().endsWith(.doc)主体语句elseif(fie2.isFile() &fie2.getName().endsWith(.+type)主体语句再次测试结果:图4.1.8图4.1.94.2检验备份其它文件目标:备份桌面的PNG图片文件到桌面新建的文件夹1中图4.2.1图4.2.2备份成功!结论在这次课程设计中我学到了很多,首先要学会利用身边的工具

12、来学习和查阅相关的知识,第二要细心不要自以为是,任何时候都要以事实说话,不要想的很好却做不出来!第三一切从实际出发要学会从实践中学到东西,不要只会动脑不会动手,要学会动手。这次的课程设计是一个人的独立项目,但以后也不能忽视团队的重要性,毕竟一个人的知识面是有限的,要取长补短也要尽量发挥出自己的长处。这次课程设计我使用的是控制台界面,原因是JAVA的图形化界面还有很多没有自学到所以暂时使用控制台界面来实现。通过这次的课程设计我对于File类有了更深的了解,对于FileWriter,FileOutputString,和FileInputString的使用环境和使用场合都已经牢记了!对于JAVA这种

13、面向对象的语言我觉得很有趣,是以类为主体只需要调用API就行了!不像C语言大部分需要自己编,以函数为主题,对于错综复杂的函数调用关系很是不感冒。参考文档1朱福喜.Java语言程序设计(第二版).科学出版社2陈国君等.Java程序设计基础(第二版).清华大学出版社3 Deitel.Java大学基础教程(第六版).电子工业出版社 4 MaryCampione.Java语言导学(第四版).机械工业出版社5 Y.Daniel Liang.Java语言程序设计基础篇(第六版). 机械工业出版社6 Kathy Sierra.Head First Java(第二版).东南大学出版社7Java JDK6.0D

14、ocumention.chm附源程序代码:/*编写一个world文档备份程序,要求:(1)能够根据给出的路径搜索该路径下的所有world文档,并将搜索到的文档复制到指定的路径下。(2)保存被复制文件名的清单。(3)界面采用控制台方式或图形界面。*/*boolean endsWith(String suffix) 测试此字符串是否以指定的后缀结束。 */*boolean isFile() 测试此抽象路径名表示的文件是否是一个标准文件。 */package word备份;import java.io.*;import java.util.*;public class Window public s

15、tatic void main(String args) throws IOExceptionString fil =null;String fol=null;String type =null;Scanner scanner =new Scanner(System.in);boolean flag= true;while(flag)System.out.printf(请输入你要备份的文件后缀名:);type=scanner.next();System.out.println(请输入要备份的+type+文档的地址:);fil=scanner.next();System.out.printf(备

16、份到:);fol=scanner.next();File fie ;File foe ;File records; fie =new File(fil);foe =new File(fol);records=new File(foe,records.txt);if(!fie.exists()System.out.println(您输入的备份地址不存在!请重新输入:);continue;foe.setWritable(true);if(!foe.exists()foe.mkdirs();File fies=fie.listFiles();System.out.println(需要备份的文件列表:

17、);FileWriter record =new FileWriter(records);for (Object obj : fies) File fie2=(File)obj;if(type=null)if(fie2.isFile()&fie2.getName().endsWith(.doc)System.out.println(fie2.getName();record.write(fie2.getName()+rn);FileInputStream fr =new FileInputStream(fie2);File foe2=new File(foe,fie2.getName();Fi

18、leOutputStream fw =new FileOutputStream(foe2);byte bf=new byte100;int i;while(i=fr.read(bf)0)fw.write(bf, 0, i);fr.close();fw.close();elseif(fie2.isFile()&fie2.getName().endsWith(.+type)System.out.println(fie2.getName();record.write(fie2.getName()+rn);FileInputStream fr =new FileInputStream(fie2);Fi

19、le foe2=new File(foe,fie2.getName();FileOutputStream fw =new FileOutputStream(foe2);byte bf=new byte100;int i;while(i=fr.read(bf)0)fw.write(bf, 0, i);fr.close();fw.close();record.close();System.out.println(备份成功);System.out.println(true(继续备份) false(退出程序);flag= scanner.nextBoolean();scanner.close();.忽略此处.19

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 技术资料 > 课程设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922