1、异常和断言、输入_输出及文件操作及答案解析(总分:46.00,做题时间:90 分钟)一、选择题(总题数:16,分数:32.00)1.在文件类提供的方法中,用于创建目录的方法是_。(分数:2.00)A.mkdir()B.mkdirs()C.list()D.listRoots()2.下列叙述中,错误的是_。(分数:2.00)A.所有的字节输入流都从 InputStream 类继承B.所有的字节输出流都从 OutputSteam 类继承C.所有的字符输出流都从 OutputStreamWriter 类继承D.所有的字符输入流都从 Reader 类继承3.在读取二进制数据文件的记录时,为了提高效率常常
2、使用一种辅助类_。(分数:2.00)A.InputStreamB.FileInputStreamC.StringBufferD.BufferedReader4.请阅读下面程序import java.io.*;public class ExceptionCatchpublic static void main (String args)tryFilelnputStream fis=new FilelnputStream(“text“);System.out.printIn (“content oftext isA: “);catch (FileNotFoundException e)System
3、.out.printIn (e);System.out.printIn(“message: “+e.getMessge();e.printStackTrace(Sysrem.out);_System.out.printIn (e);为保证程序正确运行,程序中下画线处的语句应是_。(分数:2.00)A.catch(FilelnpuStueam fis)B.printStackTrace()C.catch(IOException e)D.System.out.printIn(e)5.Java 对 I/O 访问所提供的同步处理机制是_。(分数:2.00)A.字节流B.过滤流C.字符流D.压缩文件流6
4、.能向内存直接写入数据的流是_。(分数:2.00)A.FileOutputSreamB.FilelnputStreamC.ByteArrayOutputStreamD.ByteArrayInputStream7.在程序读入字符文件时,能够以该文件作为直接参数的类是_。(分数:2.00)A.FileReaderB.BufferedReaderC.FileInputStreamD.ObjectInputStream8.下列叙述中,正确的是_。(分数:2.00)A.Reader 是一个读取字符文件的接口B.Reader 是一个读取数据文件的抽象类C.Reader 是一个读取字符文件的抽象类D.Rea
5、der 是一个读取字节文件的一般类9.处理对象传输的接口是_。(分数:2.00)A.SerializableB.CloneableC.ItemListenerD.ActionListener10.Java 对文件类提供了许多操作方法,能获得文件对象父路径名的方法是_。(分数:2.00)A.getAbsolutePath()B.getParentFile()C.getAbsolluteFile()D.getName()11.查找随机文件的记录时,应使用的方法是_。(分数:2.00)A.readlnt()B.readBytes(int n)C.seek(long 1)D.readDouble()1
6、2.下列叙述中,错误的是_。(分数:2.00)A.File 类能够存储文件B.File 类能够读写文件C.File 类能够建立文件D.File 类能够获取文件目录信息13.用于输入压缩文件格式的 ZipInputStream 类所属包是_。(分数:2.00)A.java.utilB.java.ioC.java.nioD.java.util.zip14.java.io 包的 File 类是_。(分数:2.00)A.字符流类B.字节流类C.对象流类D.非流类15.阅读下面程序import java.io.*;public class ByteStreamTestpublic static void
7、 main (Stringa)intmyArray=10,20,30,40;tryDataOutputStrem dos=new DataOutputSream(new_(“ints.dat“);for (int i=0; imyArray.length; i+)dos.writelnt(myArray i);dos.close();System.out.printIn(“Have written binary file ints.dat“)catch (IOException.ioe)System.out .printIn(“:IOException“);为保证程序正确运行,在程序中下画线处
8、应填入的代码是_。(分数:2.00)A.FileOutputStremB.ByteArrayOutputStreamC.BufferedOutputStreamD.FileWriter16.执行下列程序时,会产生什么异常_。public class Testpublic static void main (String args)int d=101;int b=220;long a=321;System.out .printIn(a-b)/(a-b-d);(分数:2.00)A.ArrayIndexOutOfBoundsExceptionB.NumberFormatExceptionC.Arit
9、hmeticExceptionD.EOFException二、填空题(总题数:7,分数:14.00)17.Java 中的异常对象是 Error 类或 Exception 类的对象,这两类对象中 1 类的对象不会被 Java 应用程序捕获和抛出。(分数:2.00)填空项 1:_18.在下列程序的下画线处,填入适当语句使程序能正确执行并输出异常栈信息。Public class ThrowableExceptionPublic static void main (String args)trythrow new Throwable(“这里是本人定义的异常“);catch(Throwable e)Sy
10、stem.out.printIn(“Caught Throwable“);System.out.printIn(“e.getMessage():“+e.getMessage();System.out .printIn(“e.toString():“+e.toString();System.out.printin(“e.printStackTrace():“);_;)(分数:2.00)填空项 1:_19.异常分为运行异常、捕获异常、声明异常和 1。(分数:2.00)填空项 1:_20.下面程序运行时输出结果为:C:/Program Files is a directory.请将程序补充完整。im
11、port java.io*;public class DirTestpublic static void mian (Stringargs)File myDir=new File (“C:/Program Files/“);System.out.printIn (myDir+(_.isDirectory()?“is“: “is not“)+“a directory.“);(分数:2.00)填空项 1:_21.在 java.io 包中,字符输出流类都是 1 类的子类。(分数:2.00)填空项 1:_22.在 java.io 包中有某个类同时实现了 Datalnput 接口和 DataOutput
12、 接口,这个类是 1。(分数:2.00)填空项 1:_23.键盘输入字符串并在计算机屏幕上显示,这时的数据源是 1。(分数:2.00)填空项 1:_异常和断言、输入_输出及文件操作答案解析(总分:46.00,做题时间:90 分钟)一、选择题(总题数:16,分数:32.00)1.在文件类提供的方法中,用于创建目录的方法是_。(分数:2.00)A.mkdir() B.mkdirs()C.list()D.listRoots()解析:解析 listRoots(),返回根目录结构:list(),返回当前目录下的文件;mkdir(),创建目录;mkdirs(),创建包含父目录的目录。只有选项 A 满足题目
13、要求。2.下列叙述中,错误的是_。(分数:2.00)A.所有的字节输入流都从 InputStream 类继承B.所有的字节输出流都从 OutputSteam 类继承C.所有的字符输出流都从 OutputStreamWriter 类继承 D.所有的字符输入流都从 Reader 类继承解析:解析 字符类输出流的各个类都是抽象类 Writer 的子类,其中包括:PrintWriter 类、OutputStreamWriter 类及其子类FileWriter、BufferedWriter、FilterWriter、FilterWriter、CharArrayWriter、PipedWriter、Str
14、ingWriter 等。OutputStream Writer 类只有 Writer 类的一个子类,所以 C 选项的说法并不全面。3.在读取二进制数据文件的记录时,为了提高效率常常使用一种辅助类_。(分数:2.00)A.InputStreamB.FileInputStreamC.StringBuffer D.BufferedReader解析:解析 StringBuffer 是一个表示可变长度字符串的类,在读取文件时并不知道读取字符的具体长度,因此为 StringBuffer 类对象分配的内存会自动扩展而容纳新增的字符,这提高了读取的效率。所以StringBuffer 是一个可以提高读取文件效率
15、的辅助类。故 C 为正确选项。4.请阅读下面程序import java.io.*;public class ExceptionCatchpublic static void main (String args)tryFilelnputStream fis=new FilelnputStream(“text“);System.out.printIn (“content oftext isA: “);catch (FileNotFoundException e)System.out.printIn (e);System.out.printIn(“message: “+e.getMessge();e
16、.printStackTrace(Sysrem.out);_System.out.printIn (e);为保证程序正确运行,程序中下画线处的语句应是_。(分数:2.00)A.catch(FilelnpuStueam fis)B.printStackTrace()C.catch(IOException e) D.System.out.printIn(e)解析:解析 捕获异常要求在程序的方法中预告声明,调用该方法时就可以捕获该种异常。Java 中用try-catch 结构捕获异常。本程序中,下画线后面的大括号中的语句是 System.out.printIn(e);,即打印出一个异常的信息,从而可
17、以推断下画线中应该是捕捉一个异常类。故正确答案应该是 C。5.Java 对 I/O 访问所提供的同步处理机制是_。(分数:2.00)A.字节流B.过滤流 C.字符流D.压缩文件流解析:解析 Java 对 I/O 访问还提供了同步处理机制,这就是过滤流。FilteInputStream 和FilterOutputStream 抽象类保证某时刻只有一个线程访问一个 I/O 流,并且由它们衍生出一些过滤子类。字节流、字符流和压缩文件流均不能提供同步,所以本题正确选项是 B。6.能向内存直接写入数据的流是_。(分数:2.00)A.FileOutputSreamB.FilelnputStreamC.By
18、teArrayOutputStreamD.ByteArrayInputStream 解析:解析 FileInputStream 和 FileOutputStream 用于对磁盘文件涉及的数据流进行输入和输出处理。ByteArrayOutputStream 和 ByteArrayInputStream 对于在内存中读写数据是十分有用的,能达到类似于数据来自文件、管道或套接字的效果。可见能向内存中直接写数据的是 ByteArraylnputStream。7.在程序读入字符文件时,能够以该文件作为直接参数的类是_。(分数:2.00)A.FileReader B.BufferedReaderC.Fil
19、eInputStreamD.ObjectInputStream解析:解析 FileInputStream 是字节输入流。ObjectlnputStream 用于对象串行化时从对象流中读取对象。所以 C、D 都不是本题的答案。FileReader 和 BufferedReader 都是字符类输入流,但是 FileReader的参数是读入的文件,而 BufferReader 的参数是 FileRead 流的一个对象。所以,本题的正确选项是 A。8.下列叙述中,正确的是_。(分数:2.00)A.Reader 是一个读取字符文件的接口B.Reader 是一个读取数据文件的抽象类C.Reader 是一个
20、读取字符文件的抽象类 D.Reader 是一个读取字节文件的一般类解析:解析 Reader 类是一个抽象类,字符输入流都是它的子类,它是用来读取字符文件的类。字符输出流都是 Writer 抽象类的子类。所以 C 项说法正确。9.处理对象传输的接口是_。(分数:2.00)A.Serializable B.CloneableC.ItemListenerD.ActionListener解析:解析 处理对象传输就是把对象串行化。在 Java 语言中,如果要串行化某些类的对象,这些类就必须实现 Serializabel 接口。因此,本题的正确选项是 A。10.Java 对文件类提供了许多操作方法,能获得
21、文件对象父路径名的方法是_。(分数:2.00)A.getAbsolutePath()B.getParentFile() C.getAbsolluteFile()D.getName()解析:解析 getAbsolutePath(),得到一个文件的绝对路径名。getAbsoluteFile(),等价于 new File(this.getAbsolutePath()。getName(),得到一个不包含路径的文件名。public File getParentFile(),得到文件对象父路径名。所以正确选项应该是 B。11.查找随机文件的记录时,应使用的方法是_。(分数:2.00)A.readlnt()
22、B.readBytes(int n)C.seek(long 1) D.readDouble()解析:解析 RandomAccessFile 中,查找随机文件记录的方法是 seek(long pos)。readDouble()方法用于读取随机文件浮点数。12.下列叙述中,错误的是_。(分数:2.00)A.File 类能够存储文件B.File 类能够读写文件 C.File 类能够建立文件D.File 类能够获取文件目录信息解析:解析 File 类描述了文件本身的属性,File 类中封装了对文件系统进行操作的功能。简单说,File 类所关心的是文件在磁盘上的存储,而要对文件进行读写,就是流类所关心的
23、文件内容。所以 B 项的说法是错误的。13.用于输入压缩文件格式的 ZipInputStream 类所属包是_。(分数:2.00)A.java.utilB.java.ioC.java.nioD.java.util.zip 解析:解析 压缩文件输入流类都是 InflaterInputStream 的子类,是以字节压缩为特征的过滤流。ZipInputStream 类也在 java.util.zip 包中,用于输入 zip 格式的文件,这是对于文件类型、格式的一种过滤。14.java.io 包的 File 类是_。(分数:2.00)A.字符流类B.字节流类C.对象流类D.非流类 解析:解析 java
24、.io 包中的类可以处理不同类型的流,如字节流、字符流、对象流及非流类等。File类就是一个重要的非流类,它是以一种与系统无关的方式表示一个文件对象的属性。因此,本题的正确答案是 D。15.阅读下面程序import java.io.*;public class ByteStreamTestpublic static void main (Stringa)intmyArray=10,20,30,40;tryDataOutputStrem dos=new DataOutputSream(new_(“ints.dat“);for (int i=0; imyArray.length; i+)dos.w
25、ritelnt(myArray i);dos.close();System.out.printIn(“Have written binary file ints.dat“)catch (IOException.ioe)System.out .printIn(“:IOException“);为保证程序正确运行,在程序中下画线处应填入的代码是_。(分数:2.00)A.FileOutputStrem B.ByteArrayOutputStreamC.BufferedOutputStreamD.FileWriter解析:解析 二进制文件可作为 FileOutputStream 对象的构造方法的参数,而
26、 FileOutputStream 对象作为 DataOutputStream 的构造方法的参数实现 DataOutputStream 类。本程序中,intdat 二进制文件应该作为 FileOutputStream 对象构造方法的参数,然后 FileOutputStream 对象作为字节输出流的形参。16.执行下列程序时,会产生什么异常_。public class Testpublic static void main (String args)int d=101;int b=220;long a=321;System.out .printIn(a-b)/(a-b-d);(分数:2.00)A
27、.ArrayIndexOutOfBoundsExceptionB.NumberFormatExceptionC.ArithmeticException D.EOFException解析:解析 在本程序中,当 Java 执行算术表达式时,由于除法运算的分母是 a-b-d=0,就会引发一个ArithmeticException 的异常对象来使程序停下来并处理这个错误情况,在运行时抛出这个异常。二、填空题(总题数:7,分数:14.00)17.Java 中的异常对象是 Error 类或 Exception 类的对象,这两类对象中 1 类的对象不会被 Java 应用程序捕获和抛出。(分数:2.00)填空
28、项 1:_ (正确答案:Error)解析:解析 Throwable 类分为 Error 和 Exception 两个子类,Error 类包括动态连接失败、硬件设备和虚拟机出错等,通常的 Java 应用程序不会捕获和抛出这类异常,而是捕获和抛出 Exception 异常,它包括运行时出现的异常,并对这类异常做出处理。18.在下列程序的下画线处,填入适当语句使程序能正确执行并输出异常栈信息。Public class ThrowableExceptionPublic static void main (String args)trythrow new Throwable(“这里是本人定义的异常“);
29、catch(Throwable e)System.out.printIn(“Caught Throwable“);System.out.printIn(“e.getMessage():“+e.getMessage();System.out .printIn(“e.toString():“+e.toString();System.out.printin(“e.printStackTrace():“);_;)(分数:2.00)填空项 1:_ (正确答案:e.printStackTrace())解析:解析 题目中的代码比较简单,就是生成一个异常,然后执行 catch 当中的语句。其中,前面 3条都是
30、输出一些异常事件的基本信息,但是题目中还要求输出异常栈的信息,因此,下画线处填入的语句应该输出异常栈的信息。异常对象的 printStackTrace()方法就是用来输出异常栈的信息。19.异常分为运行异常、捕获异常、声明异常和 1。(分数:2.00)填空项 1:_ (正确答案:抛出异常)解析:解析 异常类在 Java 程序中是一种比较特殊的类,在使用之前必须先定义,按异常处理的不同可分为运行异常、捕获异常、声明异常和抛出异常几种。20.下面程序运行时输出结果为:C:/Program Files is a directory.请将程序补充完整。import java.io*;public cl
31、ass DirTestpublic static void mian (Stringargs)File myDir=new File (“C:/Program Files/“);System.out.printIn (myDir+(_.isDirectory()?“is“: “is not“)+“a directory.“);(分数:2.00)填空项 1:_ (正确答案:myDir)解析:解析 本程序中首先创建了一个 File 类的实例 myDir 对象,输出的结果实际是对文件属性的测试,即是否是一个目录。File 类提供了 isDirectoty()方法来测定文件是否是目录,所以本题要填入的
32、内容就是创建的 myDir 对象。21.在 java.io 包中,字符输出流类都是 1 类的子类。(分数:2.00)填空项 1:_ (正确答案:Writer)解析:解析 字符类输出流的各个类都是抽象类 Writer 的子类,其中包括:PrintWriter 类、OutputStreamWriter 类及其予类FileWriter、BufferedWriter、FilterWriter、FilterWriter、CharArrayWriter、PipedWriter、StringWriter 等。22.在 java.io 包中有某个类同时实现了 Datalnput 接口和 DataOutput 接口,这个类是 1。(分数:2.00)填空项 1:_ (正确答案:RandomAccessFile)解析:解析 文件操作中经常需要的是随机访问,Java 中的 RandomAccessFile 类提供了随机访问文件的功能,它继承了 Object 类,用 Datalnput 和 DataOutput 接口来实现。因此,本题正确答案是RandomAccessFile。23.键盘输入字符串并在计算机屏幕上显示,这时的数据源是 1。(分数:2.00)填空项 1:_ (正确答案:键盘)解析:解析 数据源就是数据的来源。显然,屏幕上输出的信息来源于键盘的输入,因此数据源就是键盘。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1