当前位置:文档之家› 黑马Java_IO知识测试附答案

黑马Java_IO知识测试附答案

IO 部分测试题考试宣言:同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷!我们考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业!本套题共40道不定项选择题,其中单选30道,多选10道。

单选2分/题,多选4分/题。

多选题不全对半分,全对满分。

1.下列叙述中,正确的是 ( )A. Reader是一个读取文本文件的接口B. Reader是读取二进制数据文件的抽象类C. Reader是一个读取文本文件的抽象类D. Reader是读取二进制数据文件的一般类2.下面关于IO流的说法正确的是( )A. IO流可以分为字节流和字符流B. FileReader和FileWriter是专门用于读取和写入文本文件的C. 顶层类有InputStream和OutputStreamD. 顶层类有Reader和Writer,他们都是接口//抽象类3.FileReader类描述正确的是( )A. 字节输入流B. 字符输入流//没什么说的,记住吧C. 打印流D. 序列化流4.下列关键字能和try一起使用的有( )A. finalB. finalizeC. finallyD. catch5.具有readLine()方法的类是( )A. FileWriterB. InputStreamReaderC. FileReaderD. BufferedReader // readLine()方法是缓冲流BufferedReader的特有方法6.关于newLine()方法描述错误的是( )A. newLine()方法写入换行B. newLine()方法会根据不同操作系统自动选择使用相应的换行符C. newLine()方法是FileWiter类的方法D. newLine()方法是BufferedWriter类的方法// 这个也是特有方法.7.实现下列哪个接口,可以启用序列化功能( )A. Runnable接口B. Comparable接口C. Serializable接口// 这个记住吧D. Comparator接口8.以下关于java异常说法不正确的是()。

A. Throwable 类是 Java 语言中Error类和Exception类的父类。

B. 当异常对象是Exception类(或其子类)的实例时,能通过 Java 虚拟机或者 throw语句抛出该异常对象,并能通过try…catch…finally处理。

C. jdk6(包括jdk6)之前,如果只用一个catch块捕捉多个异常对象,则catch 子句中的参数类型应是所有存在的异常对象的父类。

D. 以上说法都不对。

9.字节输出流的抽象基类是( )A. OutputStream类 //记住吧,没什么说的.B. InputStream类C. Writer类D. Reader类10.下面程序的运行结果是( )FileOutputStream fos = new FileOutputStream(“c:\\demo.txt”);fos.write(“abc”); // 字节流没有write 字符串的方法.看API就明白了.fos.close();A. 在C盘创建文件demo.txt,但文件是空的B. 在C盘创建文件demo.txt,并写入数据abcC. 将C盘已有的文件demo.txt中追加写入abcD. 编译失败//字节流没有 write(“字符串”)的方法,所以编译出错.11.下列关于Java中文件输入输出的说法正确的是 ( )A. 在Java中,文件的输入输出功能是通过流来实现的B. 如果要把数据写入一个文件中,需要创建一个流对象C. 字符流在某些方面比如图片的处理,比字节流更方便D. 可以通过Reader r = new Reader(“c:\\java.txt”);创建一个输入流对象12.Properties类中的哪个方法可以和IO流相关联( ) //这个类重点掌握,就业班会用的到.A. getProperty()B. setProperty()C. load() //load()方法把文件中的数据加载到集合中, store()方法把集合中的数据在存到文件中去.这是properties特有的方法,有实用价值.D. stringPropertyNames()13.关于打印流PrintWriter说法正确的是( )A. 该流只操作数据目的,不操作数据源B. 该流只操作数据源,不操作数据目的C. 如果启用了自动刷新,该流调用println()方法时可以自动刷新D. 该流是Writer的子类14.下面关于Java中异常处理try块的说法正确的是( )A. try块后通常应有一个catch 块,用来处理try块中抛出的异常。

B. catch 块后必须有finally块。

//不是必须的C. 释放资源的代码应放在try块中。

//是应该放在finally里面D. 对抛出的异常的处理必须放在try块中//放在catch里面15.File类中的listFiles()方法说法正确的是( )A. 获取File对象封装的路径下的全部文件和文件夹对象B. 只获取File对象封装的路径下的文件C. 该方法返回File类型数组D. 该方法返回String类型数组16.下面的程序创建了一个文件输出流对象,用来向文件test.txt中输出数据,假设程序当前目录下不存在文件test.txt,编译下面的程序Test.java后,将该程序运行3次,则文件test.txt 的内容是( )。

import java.io.*;public class Test {public static void main(String args[]) {try {String s="ABCDE ";byte b[]=s.getBytes();FileOutputStream file=new FileOutputStream("test.txt",true); //看这里file.write(b);file.close();}catch(IOException e) {System.out.println(e.toString());}}}A. ABCABCB. ABCDEC. TestD. ABCDE ABCDE ABCDE17.以下哪两个流对象可以实现任意类型文件的成功复制( )A. FileReader 和 FileWriterB. FileInputStream和FileOutputStream //任意文件,那只能是字节流.C. BufferedReader和 BufferedWriterD. InputSteamReader和OutputStreamWriter18.下面说法不正确的是 ( )A. final是个关键字,用来修饰成员变量(此变量就为常量)、成员方法(此方法不能被重写)、类(此类不能被继承)B. finally是异常处理的一部分,它里面的代码正常情况下永远被执行C. finalize是Object类中定义的,用于垃圾回收,由垃圾回收器调用。

D. final、finally、finalize三个关键字都可以在类的内部使用//finalize不是关键字,他是一个方法名19.关于File类中的exists()方法说法错误的是( )A. 判断File对象中封装的路径所对应的文件或者文件夹是否存在B. 此方法返回boolean类型值C. 判断File对象封装的路径是否是相对路径D. 判断File对象封装的路径是否是绝对路径20.下面哪个流是字节通向字符的桥梁( )A. InputStreamReader // 看下API,上面写的很清楚. 那大家想想,字符流通向字节流的桥梁是哪个?B. OutputStreamWriterC. LineNumberReaderD. ObjectInputStream21.关于对象的序列化说法错误的是( )A. 实现序列化的对象必须实现Serializable接口B. 实现序列化的对象必须自定义序列号//可以不用定义,这个开发很少用.C. ObjectOutputStream中的writeObject()方法可以将对象写出D. ObjectInputStream中的readObject()方法可以读取对象22.关于字符输入流FileReader描述错误的是( )A. 可以读取文本文件B. 是Reader的子类C. 具有读取一行的方法//ReadLine是BufferedReader的特有方法D. 无法获得要读取文件的字节数23.下面关于java中输入/输出流的说法正确的是( )。

A. FileInputStream与FileOutputStream类用来读、写字节流。

B. FileReader与FileWriter类用来读、写字符流。

C. File类既可以用来读文件,也可以用来写文件。

//仅仅是关联,读写是流的操作D. File类用来处理与文件相关的操作。

24.使用字符流可以成功复制哪些文件( )A. 文本文件//字符流只能做这个,其他文件可能会有丢失.B. 图片文件C. 视频文件D. 以上都可以复制25.java.io包中提供的用于筛选文件名的接口是( )A. DataInputB. DataOutputStreamC. RandomAccessFileD. FileNameFilter //查API吧26.下列流中哪一个使用了缓冲区技术( )A. BufferedOutputStream //Buffered表示缓冲B. FileInputStreamC. DataOutputStreamD. FileReader27.通常情况下,下列哪一个类的对象可以作为BufferedReader类的构造函数的参数( )A.InputStreamReaderB.PrintStreamC.OutputStreamReaderD.PrintWriter28.若要创建一个新的含有父目录的目录,应该使用下列哪一个类的实例( )A.RandomAccessFileB.FileOutputStreamC.FileD.以上都对29.如果在当前目录下不存在Hello.txt 文件,试图编译和运行下面代码会输出什么import java.io.*;public class Mine {public static void main(String argv[]){Mine m=new Mine();System.out.println(m.amethod());}public int amethod() {try {FileInputStream dis=new FileInputStream("Hello.txt");}catch (FileNotFoundException fne) {System.out.println("No such file found");return -1;}catch(IOException ioe) {} finally{System.out.println("Doing finally");}return 0;}}A. No such file foundB. No such file found ,-1C. No such file found, Doing finally, -1 //好好研究D. 030.与InputStream流相对应的Java系统的标准输入对象是A.System.inB.System.outC.System.errD.System.exit()31.文件输出流的构造方法是public FileOutputStream(String name,Boolean append)throws FileNotFoundException,当参数append的值为true时,表示( )A.创建一个新文件B. 在原文件的尾部添加数据C. 覆盖原文件的内容D. 在原文件的指定位置添加数据32.下面的程序段的功能是 ()File file1=new File("e:\\xxx\\yyy");file1.mkdir();A. 在当前目录下生成子目录:\xxx\yyyB. 生成目录:e:\xxx\yyyC. 在当前目录下生成文件xxx.yyyD. 以上说法都不对33.下列哪两个方法可以创建目录( )A. createNewFile()B. createTempFile()C. mkdir()D. mkdirs() //开发建议用这个,它可以创建多层级目录,也可以创建单级目录.如果用mkdir(),有时会报错.34.下面的程序段创建了BufferedReader类的对象in,以便读取本机d盘my文件夹下的文件1.txt。

相关主题