《Java面向对象》课件-7.7 Commons IO_第1页
《Java面向对象》课件-7.7 Commons IO_第2页
《Java面向对象》课件-7.7 Commons IO_第3页
《Java面向对象》课件-7.7 Commons IO_第4页
《Java面向对象》课件-7.7 Commons IO_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

模块七I/O流CommonsIO任务七CommonsIO

先定一个小目标!了解CommonsIO,能够在项目中使用CommonsIO的工具类对文件进行操作CommonsIOCommonsIO是一组用于简化I/O操作的类库,它包含一系列工具类,用于文件、流和目录的操作,旨在提高开发人员在IO功能开发中的效率。其中,常用的工具类有FileUtils和IOUtils,分别用于文件操作和流操作,下面对CommonsIO中的FileUtils和IOUtils进行讲解。CommonsIOFileUtils类提供了一系列操作文件和目录的方法,包括复制、移动、删除、读取、写入等操作。FileUtils类的部分常用方法如下表所示。方法声明功能描述voidcopyFile(FilesrcFile,FiledestFile)将源文件srcFile复制到目标文件destFilevoidcopyDirectory(FilesrcDir,FiledestDir)将源目录srcDir下的所有文件和子目录复制到目标目录destDirvoidcopyFileToDirectory(FilesrcFile,FiledestDir)将源文件srcFile复制到目标目录destDirvoiddeleteDirectory(Filedir)删除指定目录dir的所有内容,包含子目录和文件StringreadFileToString(Filefile,Charsetencoding)将文件file的内容以encoding字符编码读取并返回为字符串voidwriteStringToFile(Filefile,Stringdata,Stringcharname,Charsetencoding,Booleanappend)将字符串data以encoding字符编码写入文件file中,append为true为追加模式,否则为覆盖模式CommonsIOIOUtils类提供了一系列处理I/O流的方法,包括读取、写入、复制、转换等操作。IOUitls类的部分常用方法如下表所示。方法声明功能描述byte[]readBytes(InputStreaminput)将输入流input的内容读取并返回为字节数组voidwrite(byte[]data,OutputStreamout)将字节数组data写入输出流outvoidcopy(InputStreamin,OutputStreamout)将输入流in的内容复制到输出流outbyte[]toByteArray(InputStreaminput)将输入流input的内容读取并返回为字节数组StringtoString(InputStreamin,Charsetencoding)以指定字符编码encoding将输入流in的内容读取并返回为字符串byte[]readBytes(InputStreaminput)将输入流input的内容读取并返回为字节数组CommonsIOCommonsIO中的FileUtils类和IOUtils类提供的方法使用都相对简单,下面以使用

FileUtils类为例来演示如何使用CommonsIO。CommonsIO1.添加jar包CommonsIO是一个第三方类库,在使用CommonsIO之前,需要将其jar包添加到项目中。在Java项目的根目录中新建一个文件夹并命名为lib,将commons-io-2.15.1.jar文件复制到lib文件夹中,然后右键单击该文件夹,在弹出的菜单中选择“AddasLibrary”后,在弹出的对话框单击“OK”按钮,完成jar包的添加。CommonsIO2.代码实现创建一个Example19类,在该类中定义main()方法,并在main()方法中在使用FileUtils类进行目录的复制、文件的复制、数据的写入和读取。Example19.java源代码CommonsIO2.代码实现案例的运行结果如下图所示。运行文件Example19,项目中新增一个名称为filecopy的文件夹,文件夹中的内容如下图所示。CommonsIO2.代码实现打开file文件夹,可以看到文件夹中多出一个文件test01copy.txt,打开该文件效果如下图(左)所示。查看控制台输出结果,如下图(右)所示。项目实践:班干部竞选投票项目描述某班级正在竞选班干部,一共有两个名额,目前有六名学生想要参加竞选。为了公平起见,班主任决定采用投票的方式决定谁可以入选。本项目要求为班干部竞选开发一个投票系统,其他不参加竞选的同学可以注册并登录该系统为这六个人投票,每位学生能且只能给两个人投票,结束投票后将最终投票结果和票数最多的两位入选人员存储在文件中。该投票系统功能的具体要求如下。(1)用户注册:用户进入系统后,如果想要进行投票,需要先登录账号,如果没有注册过账号,可以进行注册。注册时需要输入学号、姓名和密码。(2)用户登录:用户可以使用注册时填写的学号和密码进行登录,通过验证之后登录成功,并记录该用户的登录状态为已登录。项目实践:班干部竞选投票项目描述(3)查看竞选人:六位候选人的信息(包括姓名、学分和竞选宣言)会保存在文件campaigner.txt中,用户进入系统后,可以查看所有候选人信息。(4)投票:用户登录账号成功后才能进行投票。投票时首先会显示所有候选人的信息,然后要求分别输入两个候选人的姓名为其投票,若输入错误,则给出提示并能重新输入。当前登录用户投票成功后,不能继续投票。若想继续投票可以登录其他账号进行投票。(5)投票结束:选择投票结束功能后,系统会将最终投票结果保存到文件中(包括6位候选人的姓名和票数,以及最终入选的两个学生的姓名和票数),票数相同的候选人,按照候选人报名顺序先后决定(竞选人顺序靠前则优先选择)。至此,一轮投票结束,若再次进入系统,则为下一轮的投票,上次的投票结果将清空,但注册的用户信息不会被清空。项目实践:班干部竞选投票项目效果项目实践:班干部竞选投票项目效果任务小结本章主要对JavaIO的相关知识进行了讲解。首先

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论