JAVA文件管理器264.pdf

上传人:得** 文档编号:84872987 上传时间:2023-04-08 格式:PDF 页数:15 大小:823.92KB
返回 下载 相关 举报
JAVA文件管理器264.pdf_第1页
第1页 / 共15页
JAVA文件管理器264.pdf_第2页
第2页 / 共15页
点击查看更多>>
资源描述

《JAVA文件管理器264.pdf》由会员分享,可在线阅读,更多相关《JAVA文件管理器264.pdf(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、报告创建时间:2015.10.30Java 程序设计实验报告年级、专业、班级2013 级信安 1 班2013 级信安 2 班2013 级信安 2 班姓名李红岩张镇张子涵实验题目命令行文件管理器实验时间2015.10.11-2015.11.1实验地点主教 0410实验成绩实验性质验证性设计性综合性教师评价:算法/实验过程正确;源程序/实验内容提交 程序结构/实验步骤合理;实验结果正确;语法、语义正确;报告规范;其他:评价教师签名:一、实验目的运用面向对象程序设计思想,基于 Java文件管理和 I/O框架,实现命令行下的文件管理器。二、实验项目内容1、实现文件夹创建、删除、进入。2、实现当前文件夹

2、下的内容罗列。3、实现文件拷贝和文件夹拷贝(文件夹拷贝指深度拷贝,包括所有子目录和文件)。4、实现指定文件的加密和解密。5、实现指定文件和文件夹的压缩。6、实现压缩文件的解压。三、实验过程或算法(源程序)实现思路:程序中包含创建文件夹,删除文件夹,进入文件夹,文件夹内容罗列,文件拷贝,文件夹拷贝,文件加密,文件解密,文件及文件夹压缩,文件及文件夹解压等内容。程序使用了 try-catch 的异常处理机制,主程序使用 switch 语句执行各项功能,主要是使用输入输出流的方式来实现。程序流程图:功能图:创建文件夹 create删除文件夹 delete进入文件夹 cd文件夹内容罗列 ls文件拷贝

3、cp命令行文件夹拷贝 cp文件加密 encrypt文件解密 decrypt文件压缩 compress文件解压 decompress文件夹压缩 compress文件夹解压 decompress帮助文档 help源程序:主菜单:packageabc;importjava.io.File;importjava.io.IOException;importjava.util.Scanner;importabc.CreateFile;importabc.DeleteFile;publicclassMainMenupublicstaticvoidmain(Stringargs)throwsIOExcepti

4、onScanners=newScanner(System.in);StringcurPath=newString();while(true)Stringop=s.next();switch(op)casecreate:StringpathCreate=s.next();StringnameCreate=s.next();CreateFilecreate=newCreateFile(pathCreate,nameCreate);create.createFile(pathCreate,nameCreate);break;caserm:Filedir=newFile(s.next();if(dir

5、.exists()&dir.isDirectory()DeleteFiledelete=newDeleteFile(dir);delete.delete(dir);System.out.println(删除成功!);elseSystem.out.println(找不到文件路径+dir);break;casecd:curPath=s.next();Filetest=newFile(curPath);if(!test.exists()开始进入命令行根据输入实现相关功能退出System.out.println(路径有错误!);break;case ls:File dirList=new File(c

6、urPath);if(dirList.isDirectory()&dirList.exists()ListFile list=new ListFile(dirList);list.listFile(dirList);elseSystem.out.println(默认路径为空!);break;case cp:Stringsrc=s.next();Stringdes=s.next();CopyFile copy=new CopyFile(src,des);copy.copyFile(src,des);break;case encrypt:String pathEn=s.next();Encrypt

7、File encrypt=new EncryptFile(pathEn);encrypt.encryptFile(pathEn);break;case decrypt:String pathDe=s.next();DecryptFile decrypt=new DecryptFile(pathDe);decrypt.decryptFile(pathDe);break;case compress:String pathZip=s.next();CompressFile compress=new CompressFile(pathZip);pressFile(pathZip);break;case

8、 decompress:String pathUnzip=s.next();String descdir=s.next();DecompressFile decompress=new DecompressFile(pathUnzip,descdir);decompress.decompressFile(pathUnzip,descdir);break;case help:System.out.println(帮助文档:);System.out.println(创建文件夹 格式create文件夹路径文件夹名称);System.out.println(删除文件夹 格式rm文件夹路径);System

9、.out.println(进入文件夹格式cd文件夹路径);System.out.println(当前文件夹下的内容罗列 格式ls);System.out.println(复制文件或文件夹 格式cp原路径目地路径);System.out.println(文件加密 格式encrypt 文件路径);System.out.println(文件解密 格式decrypt 文件路径);System.out.println(文件或文件夹的压缩 格式compress 文件或文件夹路径);System.out.println(解压格式decompress压缩包路径解压目地路径);break;caseexit:Sy

10、stem.exit(0);break;default:break;文件的创建:packageabc;importjava.io.File;publicclassCreateFileStringpath;Stringname;publicCreateFile(Stringpath,Stringname)path=this.path;name=this.name;publicbooleancreateFile(Stringpath,Stringname)Filef=new File(path+File.separator+name);if(f.mkdir()System.out.println(创

11、建成功!);returnf.mkdir();文件的删除:packageabc;importjava.io.File;publicclassDeleteFileFilepath;publicDeleteFile(Filepath)path=this.path;publicvoiddelete(Filepath)Filefs=path.listFiles();intlistleng=fs.length;for(inti=0;i listleng;i+)if(fs i.isFile()fs i.delete();elsedelete(fs i);path.delete();文件的罗列:ListFil

12、e.java:packageabc;importjava.io.File;publicclassListFileFilepath;publicListFile(Filepath)path=this.path;publicvoidlistFile(Filepath)Filefs=path.listFiles();for(inti=0;i fs.length;i+)if(fs i.isFile()System.out.println(文件:+fs i);elseSystem.out.println(目录:+fs i);listFile(fs i);文件和文件夹的复制:CopyFile.java:p

13、ackageabc;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;publicclassCopyFileStringsrc,des;publicCopyFile(Stringsrc,Stringdes)src=this.src;des=this.des;public void copyFile(String src,String des)try File sr

14、cf=new File(src);File desf=new File(des);if(!srcf.exists()System.out.println(源文件不存在!);byte b=new byte1024*1024*5;if(srcf.isFile()FileInputStream fin=new FileInputStream(srcf);FileOutputStream fout=new FileOutputStream(desf);try int len=fin.read(b);while(len!=-1)fout.write(b,0,len);len=fin.read(b);fi

15、n.close();fout.close();catch(IOException e)/TODO Auto-generated catch blocke.printStackTrace();elseFile fs=srcf.listFiles();if(!desf.exists()desf.mkdir();for(int i=0;ifs.length;i+)/System.out.println(des+File.separator+fsi.getName();copyFile(fsi.getAbsolutePath(),des+File.separator+fsi.getName();cat

16、ch(FileNotFoundException e)/TODO Auto-generated catch blocke.printStackTrace();文件加密:EncryFile.java:package abc;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class EncryptFile String path;publi

17、c EncryptFile(String path)path=this.path;public void encryptFile(String path)try File inf=new File(path);File outf=new File(path+.txt);if(!inf.isFile()|!inf.exists()System.out.println(文件出错!);if(!outf.isFile()|!outf.exists()&inf.exists()outf.createNewFile();byte b=new byte1024*1024;FileInputStream fi

18、=new FileInputStream(inf);FileOutputStream fo=new FileOutputStream(outf);int len=fi.read(b);while(len!=-1)for(int i=0;ilen;i+)bi=1;fo.write(bi);len=fi.read(b);fi.close();fo.close();inf.delete();outf.renameTo(new File(path);catch(FileNotFoundException e)/TODO Auto-generated catch blocke.printStackTra

19、ce();catch(IOException e)/TODO Auto-generated catch blocke.printStackTrace();加密文件的解密:DecryFile.java:package abc;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class DecryptFile String path;publ

20、ic DecryptFile(String path)path=this.path;public void decryptFile(String path)try File inf=new File(path);File outf=new File(path+.txt);if(!inf.isFile()|!inf.exists()System.out.println(文件出错!);if(!outf.isFile()|!outf.exists()&inf.exists()outf.createNewFile();byte b=new byte1024*1024;FileInputStream f

21、i=new FileInputStream(inf);FileOutputStream fo=new FileOutputStream(outf);int len=fi.read(b);while(len!=-1)for(int i=0;i0)out.write(buf,0,len);out.closeEntry();in.close();catch(FileNotFoundException e)/TODO Auto-generated catch blocke.printStackTrace();catch(IOException e)/TODO Auto-generated catch

22、blocke.printStackTrace();publicstaticvoidcompressFile(ZipOutputStream out,Stringpath,FilesrcFiles)path=path.replaceAll(*,/);if(!path.endsWith(/)path+=/;byte buf=new byte1024;try for(int i=0;i0)out.write(buf,0,len);out.closeEntry();in.close();catch(Exception e)e.printStackTrace();解压:DecompressFile.ja

23、va:package abc;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.util.Enumeration;import java.util.zip.ZipEntry;import java.util.zip.ZipFile;public class DecompressFile String path;String descDir;public D

24、ecompressFile(String path,String descDir)path=this.path;descDir=this.descDir;publicvoid decompressFile(String path,String descDir)throws IOExceptionFile zipFile=new File(path);File pathFile=new File(descDir);if(!pathFile.exists()pathFile.mkdirs();ZipFile zip=new ZipFile(zipFile);for(Enumeration entr

25、ies=zip.entries();entries.hasMoreElements();)ZipEntry entry=(ZipEntry)entries.nextElement();String zipEntryName=entry.getName();InputStream in=zip.getInputStream(entry);String outPath=(descDir+/+zipEntryName);Filefile=newFile(outPath.substring(0,outPath.lastIndexOf(/);/File file=new File(outPath);if

26、(!file.exists()file.mkdirs();if(new File(outPath).isDirectory()continue;System.out.println(outPath);OutputStream out=new FileOutputStream(outPath);byte buf1=new byte1024;int len;while(len=in.read(buf1)0)out.write(buf1,0,len);in.close();out.close();System.out.println(解压完毕!);四、实验结果及分析和(或)源程序调试过程以下仅为简单

27、的调试截图,更为详细的在视频。加密:压缩:更为详细的尽在视频展现。备注:1、教师在布置需撰写实验报告的实验前,应先将报告书上的“实验题目”、“实验性质”、“实验目的”、“实验项目内容”等项目填写完成,然后再下发给学生。2、教师在布置需撰写报告的实验项目时,应告知学生提交实验报告的最后期限。3、学生应按照要求正确地撰写实验报告:1)在实验报告上正确地填写“实验时间”、“实验地点”等栏目。2)将实验所涉及的源程序文件内容(实验操作步骤或者算法)填写在“实验过程或算法(源程序)”栏目中。3)将实验所涉及源程序调试过程(输入数据和输出结果)或者实验的分析内容填写在“实验结果及分析和(或)源程序调试过程

28、”栏目中。4)在实验报告页脚的“报告创建时间:”处插入完成实验报告时的日期和时间。5)学生将每个实验完成后,按实验要求的文件名通过网络提交(上载)到指定的服务器所规定的共享文件夹中。每个实验一个电子文档,如果实验中有多个电子文档(如源程序或图形等),则用WinRAR压缩成一个压缩包文档提交,压缩包文件名同实验报告文件名(见下条)。6)提交的实验报告电子文档命名为:“实验报告 1-2013xxxx张山-2013xxxx李四-2013xxxx王五.doc”。4、教师(或助教)在评价学生实验时,应根据其提交的其他实验相关资料(例如源程序文件等)对实验报告进行仔细评价。评价后应完成的项目有:1)在“成

29、绩”栏中填写实验成绩。每个项目的实验成绩按照五级制(优、良、中、及格、不及格)方式评分,实验总成绩则通过计算每个项目得分的平均值获得(平均值计算时需将五级制转换为百分制优=95、良=85、中=75、及格=65、不及格=55)。2)在“教师评价”栏中用符号标注评价项目结果(用表示正确,用表示错误,用表示半对半错)。3)在“教师评价”栏中“评价教师签名”填写评价教师(或助教)姓名。将评价后的实验报告转换为 PDF 格式文件归档。4)课程实验环节结束后,任课教师将自己教学班的实验报告文件夹进行清理。在提交文件夹中,文件总数为实验次数教学班学生人数(如,教学班人数为 90 人,实验项目为 5,其文件数为:90 5=450)。任课教师一定要认真清理,总数相符,否则学生该实验项目不能得分。最后将学生提交的实验报告刻光盘连同实验成绩一起放入试卷袋存档。

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

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁