java文件管理器.doc
- 文档编号:134301
- 上传时间:2022-10-04
- 格式:DOC
- 页数:16
- 大小:307.56KB
java文件管理器.doc
《java文件管理器.doc》由会员分享,可在线阅读,更多相关《java文件管理器.doc(16页珍藏版)》请在冰豆网上搜索。
《Java程序设计》实验报告
年级、专业、班级
2011级计科3班
2011级计科3班
姓名
江唯伟
张桉
实验题目
命令行文件管理器
实验时间
2013.10.14
实验地点
主教0414
实验成绩
实验性质
□验证性□设计性■综合性
教师评价:
□算法/实验过程正确;□源程序/实验内容提交□程序结构/实验步骤合理;
□实验结果正确;□语法、语义正确;□报告规范;
其他:
评价教师签名:
一、实验目的
运用面向对象程序设计思想,基于Java文件管理和I/O框架,实现命令行下的文件管理器。
二、实验项目内容
1、实现文件夹创建、删除、进入。
2、实现当前文件夹下的内容罗列,能够根据文件名、日期、大小,类型进行排序。
3、实现文件拷贝和文件夹拷贝(文件夹拷贝指深度拷贝,包括所有子目录和文件)。
4、实现指定文件的加密和解密。
5、实现多个文件的压缩和解压缩。
6、实现一个大文件的分割和合并。
7、实现把项目导出为可执行的*.jar文件。
三、实验过程或算法(源程序)
要求:
写明设计思想、程序的结构、功能关系图、类的说明并按照UML的规范画出类之间的关系图、程序执行流程图,最后是源代码。
设计思想:
主界面给出所有的选项,通过switch-case事件,来选择不同功能。
运用到try-catch处理异常。
文件的操作用到了:
FileInputStream和FileOutputStream,BufferedInputStream和BufferedOutputStream,Scanner等流。
程序的结构:
src里共含有四个java文件,分别为压缩、解压缩、分割与合并、main和其余功能选项。
功能关系图:
创建目录
删除目录
复制文件
复制目录
加密解密文件
主界面列出目录
重命名
文件的压缩与解压
文件的分割与合成
退出
程序执行流程图:
开始
↓
进入主界面
↓
按下键盘上相应数字按钮
↓↓
按下数字1~9按下数字0
↓↓
根据提示输入数据退出
实现功能
是↓否
是否继续?
源代码:
创建目录:
classCreateFile{
CreateFile(){
try{
System.out.println("wheretocreate?
"+"pleaseinputthepath:
");
Scanners=newScanner(System.in);
Stringpath=s.next();
Filefile=newFile(path);
if(file.exists()){
System.out.println("pleaseinputthefilename!
"
+"例如F:
/src/sb。
txt");
Stringname=s.next();
Filef=newFile(path+File.separator+name);
f.mkdir();
System.out.println("successtocreate!
");
}else
System.out.println("thedirectoryisn'texist!
");
}catch(Exceptione){
e.printStackTrace();
}
}
}
删除目录:
classDeleteFile{
Filepath;
publicDeleteFile(Filepath){
this.path=path;
}
publicvoidDelete(Filepath){
File[]files=path.listFiles();
for(inti=0;i if(files[i].isDirectory()){ Delete(files[i]); }else{ files[i].delete(); } } path.delete(); } } 复制文件: classCopyFile{ CopyFile(Stringsource,Stringtarget){ try{ Filef1=newFile(source); Filef2=newFile(target); FileInputStreaminputFile=newFileInputStream(f1); FileOutputStreamoutputFile=newFileOutputStream(f2); byte[]b=newbyte[1024*10]; intvalue=0; while((value=inputFile.read(b))! =-1){ outputFile.write(b,0,value); } outputFile.flush(); outputFile.close(); inputFile.close(); }catch(Exceptione){ e.printStackTrace(); } } } 复制目录: classCopyDirectory{ publicvoidcopyFolder(StringoldPath,StringnewPath){ try{ (newFile(newPath)).mkdirs(); Fileo=newFile(oldPath); String[]file=o.list(); Filetemp=null; for(inti=0;i if(oldPath.endsWith(File.separator)){ temp=newFile(oldPath+file[i]); }else{ temp=newFile(oldPath+File.separator+file[i]); } if(temp.isFile()){ FileInputStreaminputDir=newFileInputStream(temp); FileOutputStreamoutputDir=newFileOutputStream(newPath +"/"+(temp.getName()).toString()); byte[]b=newbyte[1024*10]; intvalue; while((value=inputDir.read(b))! =-1){ outputDir.write(b,0,value); } outputDir.flush(); outputDir.close(); inputDir.close(); } if(temp.isDirectory()){ copyFolder(oldPath+"/"+file[i],newPath+"/"+file[i]); } } }catch(Exceptione){ e.printStackTrace(); } } } 列出目录: classListDirectory{ ListDirectory(Stringpath){ Filedf=newFile(path); if(! df.exists()||(! df.isDirectory())){ System.out.println("Listfailed! "); } System.out .println(path+"/"+"containsbelowdirectoriseorfiles"); String[]files=df.list(); for(inti=0;i System.out.println(files[i]); } } } 进入目录: classEnterDirectory{ EnterDirectory(Stringpath){ Filedf=newFile(path); if(df.exists()){ System.out.println("已进入此目录! "); }else{ System.out.println("此目录不存在! "); } } } 重命名: Filenamepath=newFile(s.next()); if(namepath.exists()){ System.out.println("inputnewname"); Filenewname=newFile(s.next()); if(namepath.renameTo(newname)==true){ System.out.println("Successtorename! "); }else{ System.out.println("fileexist"); } } 加密解密文件: publicvoidgetKey(StringstrKey){ try{ KeyGenerator_generator=KeyGenerator.getInstance("DES"); _generator.init(newSecureRandom(strKey.getBytes())); this.key=_generator.generateKey(); _generator=null; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 文件 管理器