Java习题集第五章I/O流与异常

目录

第 五 章  I/O流与异常

一.单项选择题

二、填空题

三. 简答题

四.程序阅读题

五.程序设计题


一.单项选择题

1.流的传递方式是()

   A. 并行的   B. 串行的   C. 并行和串行     D. 以上都不对

2.下列不是java的输入输出流的是()

   A. 文本流     B. 字节流      C. 字符流      D. 文件流

3.凡是从中央处理器流向外部设备的数据流称为()

   A. 文件流      B. 字符流       C. 输入流      D. 输出流

4.获取一个不包含路径的文件名的方法为()

A. String getName( )            B. String getPath( )

   C. String getAbslutePath( )     D. String getParent( )

5.下列属于文件输入输出类的是()

A. FileInputStream和FileOutputStream

   B. BufferInputStream和BufferOutputStream

   C. PipedInputStream和PipedOutputStream

   D. 以上都是

6.下列不属于FileInputStream输入流的read()成员函数的是()

A. int read();          B. int read(byte b[]);

   C. int read(byte b[],int offset,int len);     D. int read(int line);

7.当处理的数据量很多,或向文件些很多次小数据,一般使用()流

A. DataOutput   B. FileOutput    C. BufferedOutput   D.PipedOutput

8.当把一个程序. 线程或代码段的输出连接到另一个程序. 线程或代码短的输入时,应使用()流

A. DataOutput  B. FileOutput   C. BufferedOutput   D. PipedOutput

9.当要将一文本文件当作一个数据库访问,读完一个纪录后,跳到另一个纪录,它们在文件的不同地方时,一般使用()类访问。

A. FileOutputStream         B. RandomAccessFile

    C. PipedOutputStream        D. BufferedOutputStream

10.FilterOutputStream是BufferedOutputStream. DataOutputStream及PrintStream的父类,以下哪个类可能是FilterOutputStream构造函数的参数类型?

A. OutputStream                                 B. File

C. InputStream                                   D. BufferedOutputStream

11.异常包含下列哪些内容?  (  )

A.程序执行过程中遇到的事先没有预料到的情况

B.程序中的语法错误  

C.程序的编译错误

D.以上都是

12.对于已经被定义过可能抛出异常的语句,在编程时:  (  )

A. 必须使用try/catch语句处理异常,或用throws将其抛出

B.如果程序错误,必须使用 try/catch语句处理异常

C.可以置之不理

D.只能使用try/catch语句处理

13.字符流与字节流的区别在于(  )

A.前者带有缓冲,后者没有

B.前者是块读写,后者是字节读写

C. 二者没有区别,可以互换使用

D. 每次读写的字节数不同

14.下列流中哪个不属于字节流  (  )

A.FileInputStream

B.BufferedInputStream

C. FilterInputStream 

D. InputStreamReader

15. 下列哪一个import命令可以使我们在程序中创建输入/输出流对象()

A. import java.sql.*;                 B. import java.util.*;

C. import java.io.*;                  D. import java.net.*;

16. 下面的程序段创建了BufferedReader类的对象in,以便读取本机c盘my文件夹下的文件1.txt。File构造函数中正确的路径和文件名的表示是(  )。

File f = new File(填代码处);

file =new FileReader(f);

in=new BufferedReader(file);

A.  "./1.txt"    B.  "../my/1.txt"    C. "c:\\my\\1.txt"        D. "c:\ my\1.txt"

17. 下面语句的功能是(  )。

       RandomAccessFile  raf2 = new RandomAccessFile("1.txt","rw" );

A. 打开当前目录下的文件1.txt,既可以向文件写数据,也可以从文件读数据。               

B. 打开当前目录下的文件1.txt,但只能向文件写入数据,不能从文件读取数据。

C. 打开当前目录下的文件1.txt,但不能向文件写入数据,只能从文件读取数据。

D. 以上说法都不对。   

18. 下面的程序段的功能是(  )。

File file1=new File("d:\\xxx\\yyy\\zzz");

file1.mkdirs();

A. 在当前目录下生成子目录:\xxx\yyy\zzz     B. 生成目录: e:\xxx\yyy\zzz

C. 在当前目录下生成文件xxx.yyy.zzz         D. 以上说法都不对

19. 以下关于java异常说法不正确的是(  )。

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

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

C. 如果只用一个catch块捕捉多个异常对象,则catch 子句中的参数类型应是所有异常对象的父类。

D. 以上说法都不对。

20.异常包含下列那些内容?(      )。

A. 程序中的语法错误 B. 程序的编译错误
C. 程序执行过程中遇到的事先没有预料到的情况

D. 程序事先定义好的可能出现的意外情况

21.java.io包的File类是
  A. 字符流类               B.  字节流类            

C.  对象流类              D.  非流类

22. 请问所有的异常类皆继承哪一个类?(    )。

A. java.io.Exception     B. java.lang.Throwable

C. java.lang.Exception   D. java.lang.Error

23. 如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象(   )

A. FileInputStream                  B. FileOutputStream

C. DataOutputStream               D. FileWriter

24. 下面的程序创建了一个文件输出流对象,用来向文件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.  ABCABC   B.  ABCDE      C.  Test    D.  ABCDE ABCDE ABCDE    

. 填空题

1.java的输入输出流包括_______. 字符流. 文件流. 对象流以及多线程之间通信的管道。

2.java中的非字符输出流都是________抽象类的子类。

3.java对I/O访问还提供了同步处理机制,保证某时刻只有一个线程访问一个I/O流,这就是_______。

4. java中的字符输出流都是抽象类________的子类。

5. DataOutputStream数据流向文件里写数据的方法为__________。

6. RandomAccessFile所实现的接口是_________和DataOutput接口。

7. 文件类_______是java.io中的一个重要的非流类,里面封装了对文件系统进行操作的功能。

8. 文件操作中经常需要的是随机访问, java中的_______类提供了随机访问文件的功能。

9.            类是OutputStream类的子类,用来处理以文件作为数据输出的数据流。

10. 异常处理是由                   和finally块三个关键所组成的程序块。

11.catch子句都带一个参数,该参数是某个异常的类及其变量名,catch用该参数去与_______对象的类进行匹配。

12.java虚拟机能自动处理_______异常。

13.同一段程序可能产生不止一种异常。可以放置多个________子句,其中每一种异常类型都将被检查,第一个与之匹配的就会被执行。

14.捕获异常要求在程序的方法中预先声明,在调用方法时用try-catch-______语句捕获并处理。

15.java语言认为那些可预料和不可预料的出错称为_________

16.按异常处理不同可以分为运行异常、捕获异常、声明异常和______几种。

17.抛出异常的程序代码可以是________或者是JDK中的某个类,还可以是JVN.

18.抛出异常、生成异常对象都可以通过_________语句实现。

19.捕获异常的统一出口通过_________语句实现。

20.java语言的类库中提供了一个__________类,所有的异常都必须是它的实例或它子类的实例。

21.Throwable类有两个子类:__________类和Exception类。

22.对程序语言而言,一般有编译错误和____________错误两类。

. 简答题

1. 简述Java中异常处理的机制?

2. try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
3. 给我一个你最常见到的runtime exception

4. error和exception有什么区别

5. 运行时异常与一般异常有何异同

6. try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后

7. Java中的异常处理机制的简单原理和应用

8. JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?

9. 什么是java序列化,如何实现java序列化?

10. java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?

四.程序阅读题

1.写出以下程序的功能。

import java.io.*;

public class TestFile

{

      public static void main(String args[]) throws Exception

    {

    BufferedReader br = new BufferedReader(

new InputStreamReader(System.in));

    BufferedWriter bw = new BufferedWriter(new FileWriter(“input.txt"));

    String s;

    while (true)

        {

      System.out.print("请输入一个字符串: ");

      System.out.flush();

      s=br.readLine();

      if (s.length()==0) break;

      bw.write(s);

      bw.newLine();

    }

    bw.close();

  }

}

2. 读下列代码,说出这段程序的功能。

import java.io.*;

public class Test{

public static void main( String [] argv) {

try {

BufferedReader is =

new BufferedReader( new InputStreamReader(System.in));

String inputLine;

While ((inputLine = is.readLine ())!= null) {

System.out.println(inputLine);

}

is.close();

}catch (IOException e) {

System.out.println("IOException: " + e);

}

}

}

3. 阅读下面的程序,并回答问题。

import java.io.*;

public class Test {

    public static void main(String args[]) throws IOException {

        BufferedReader buf=new BufferedReader(

                    new InputStreamReader(System.in));       

        while(true) {

            String  str=buf.readLine();

            if(str.equals("quit"))

                break;

            int x=Integer.parseInt(str);

            System.out.println(x*x);

        }

    } 

}

编译运行上面的程序:

u从键盘输入5,回车后输出的结果如何?

v从键盘输入quit,回车后程序执行情况如何?

4. 阅读下面的程序,并回答问题。

import java.io.*;

public class Test {

    public static void main(String args[]) throws IOException {

        BufferedReader buf=new BufferedReader(

                    new InputStreamReader(System.in));       

        while(true) {

            String str = buf.readLine();

            if(str.equals("quit"))

                break;

            int x=Integer.parseInt(str);

            System.out.println(x*x);

        }

    } 

}

编译运行上面的程序:

u从键盘输入10,回车后输出的结果如何?

v从键盘输入exit,回车后程序能正确执行吗?为什么?

. 程序设计题

1. 有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,把原有的数据和计算出的平均分数存放在磁盘文件 "stud "中。
 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值