《Java语言程序设计》 上机实验指导手册(9)
1
实验九 Java I/O
【目的】
1. 理解数据流的概念
2. 理解Java流的层次结构 3. 理解文件的概念 【内容】
一、 编程。
编写应用程序,使用System.in.read()方法读取用户从键盘输入的字节数据,回车后,把从键盘输入的数据存放到数组buffer中,并将用户输入的数据保存为指定路径下的文件。
二、 编程。
编写应用程序,分别使用FileInputStream和FileReader类对象读取程序本身(或其他目录下的文件)并显示在屏幕上。同时,比较两种方法的性能。
三、 编程。
编写应用程序,程序中创建一个文件输入流对象fis,读取当前目录下文本文件test1.txt,该文件内容有如下两行文本:
Java program is easy. I like it.
从文件输入流fis中读取5个字节数据存放到数组b中,字节数据存放的位置从数组下标3开始,将读取的数据在屏幕输出。
四、 编程。
使用异常处理机制和输入/输出处理机制编写一个程序,实现当用户输入一个文件名时,判断这个文件名是否存在,若不存在,允许用户重新输入,直到输入了一个正确的文件名后,则打开这个文件并将文件中的内容输出到屏幕上。
【提示】
(1)定义从键盘接收数据的标准输入流对象和文件对象;
(2)在此文件对象的基础上建立缓冲文件输入流,如果文件不存在,通过异常处理机制显示错误的处理结果,并要求重新输入文件路径;
(3)如果输入的文件路径正确,使用缓冲文件输入流对象的方法将文件中的内容读取出来,并在屏幕上显示,然后退出整个程序。
五、 编程。
设计一个通讯录,保存读者信息。要求:通讯录中包括一般通讯录中的基本信息,也需要实现普通的检索功能。通讯录写入文件中。
六、 编程。
2
一家杂货店的店主,需要查询、输入、修改任何一件商品的品名、价格、货存量信息。请用随机存取文件满足其要求,可以更新、查询信息。每件商品的标志为其记录号。
【提示】
使用文件输入类FileReader只能将文件内容全部读入。如果要选择读入文件的内容,可使用随机文件类RandomAccessFile。
七、 编程。
编写一个文件操作类FileOperate,实现以下方法:
(1)创建指定的目录makeDirectory:如果指定的目录的父目录不存在则创建其目录树上所有需要的父目录。
(2) 清空指定目录中的所有文件emptyDirectory方法: 这个方法将尽可能删除所有的文件,但是只要有一个文件没有被删除都会返回false。
(3) listAll方法:列出目录中的所有内容,包括其子目录中的内容。
(4)getTypePart方法:得到指定目录下所有以某后缀命名的所有文件名。
(5)搜索文件SearchFile方法:搜索给定目录下的指定文件,支持模糊查询和深度搜索。如:test.*,则返回所有以test.开头的文件名。
(6)拷贝文件Copy方法:参数1:fromFileName 源文件名;参数2:toFileName 目标文件名;参数3: override 目标文件存在时是否覆盖,返回类型为boolean。 【结果】
将本次上机实验结果按照实验要求内容依次进行,填写实验目标、过程、结果。
【注意事项】
①实验报告要求每人提交一份,内容写全,包括姓名、学号、实验内容或题目、实验目的与要求、实验步骤与源程序、测试数据与实验结果和总结等。 ②绝不允许抄袭。 【思考题】
3