Java 输入输出(含部分答案) 下载本文

49、如果一个程序段中有多个catch,则程序会按如下哪种情况执行? ( ) A) 找到合适的异常类型后继续执行后面的catch B) 找到每个符合条件的catch都执行一次

C) 找到合适的异常类型后就不再执行后面的catch D) 对每个catch都执行一次

50、下列哪一段代码能够删除文件file.txt A、File f=new File(“file.txt”); f.delete();

B、RandomAccessFile f=new RandomAccessFile(“file.txt”,”rw”); f.delete();

C、FileOutputStream f=new FileOutputStream(“file.txt”); f.remove();

D、File f=new File(“file.txt”); File.delete(f);

51、下面哪一个流属于过滤流 A、InputStream B、FileInputStream C、DataInputStream D、FileReader

52、设有以下程序段 class TestException {

public static void main(String [] args) {

try{

return; }finally{

System.out.println(\ } } }

程序编译并执行,其结果将是 A、程序执行,但没有任何输出 B、程序输出finally

C、程序编译时出错,提示缺少catch

D、程序编译时出错,提示finally语句无法访问到。 53、下面哪一种流可以用来输入字符 A、InputStream B、OutputStream

C、InputStreamReader D、BufferedInputStream

二、填空题

1、数据越界抛出的异常类是 ,整数除零抛出的异常类是 ,算术溢出抛出的异常类是 。

2、写出4个常见的异常例子: 、 、 和 。重新抛出一个异常用 语句。 3、创建文件(c:\\test.txt)对象的语句是 ,DataInputStream对象提供 方法可以按行读取文件内容。

9

4、异常处理在内存中采用_ 堆栈 ____机制。

5、Java语言机制的优点主要有:把错误处理代码从___ 常规 ___中分离出来;按错误类

型和差别分组;对无法预测的错误的捕获和处理;克服了传统方法的错误信息有限的问题;把错误传播给调用堆栈。

6、用户定义异常是通过扩展__ Exception __类及_ throwable 类来刨建的。

7、在Java编程语言中,用_ try __, catch ___,__ finally ___语句来处理异常。

8、由于系统不能识别和创建用户_ 自定义的异常 ___,所以需要在程序的合适位置

创建__自定义异常对象 ___,并使用throw语句将该新异常对象抛出。

9、Java语言的异常处理机制中__ catch ___子句或_ finally ____子句可省略,但二者不能同时省略。

10、若抛出的异常类的对象不在catch之列,或者catch子句中包含__ 异常对象 ___

语句,则执行finally子句中的代码之后返_ 异常处理 ___。

11、使用管道流的时候,需要明确管道的__ ___是管道的接收方,而管道的__ ___

是管道的发送方。

12、输入输出在计箅机中有两个主要作用:_ 采集数据 ___和_ 提供数据处理结果 。

13、ByteArraylnputStream以__ 字节数组 _作为输入流。

14、所有的输出过滤流都是抽象类_ FilterOutputStream ____的子类。 15、字符输入流BufferedReader使用了__ PrintStream ____技术。 16、CharArrayWrlter类写入的是一个内部的__ 字符数组 ___。

17、stringWriter类写入的是一个内部的___ StringBuffer __。

18、流类处理的是文件的_ 内容 ___,而Flie类处理的是文件在磁盘上的_ 存储 ___。

19、从DataInlputStream对象dis的当前位置处读取一个字符串保存在变量str中的语句是 _

20、用FileInputStream类创建文件(c:\\test.txt)对象的语句是 ,DataInputStream对象提供 方法可以按行读取文件内容。 21、写出三个常见Exception的子类: 、 和 。

22、阅读下面的程序,写出带划线语句或注释,并写出该程序的作用: import java.io.*; public class Test {

public static void main(String args[]) { scanFiles(\ }

public static void scanFiles(String path) { if (path == null) return;

File f = new File(path); // if (!f.exists()) return;

if (f.isFile()) // System.out.println(f.getAbsolutePath()); else {

File dir[] = f.listFiles(); for (int i = 0; i < dir.length; i++)

scanFiles(dir[i].getAbsolutePath());//

10

} } } /*

创建path的File对象,对象引用名为f 判断f的对象是否为文件 递归调用scanFiles方法

该程序的作用是扫描C盘下所有的文件,并将文件的路径打印 */

23、阅读下面的程序Test.java,先填写空格的内容,然后写出运行结果:

1) import java.io.*; 2) public class Test{

3) public static void main(String argv[]){

4) ; //创建Test对象,对象名为t 5) System.out.println(t.fliton()); 6) }

7) public int fliton(){ 8) try{

//第9行的含义是: 9) FileInputStream din = new FileInputStream(\10) din.read();

11) }catch(IOException ioe){ //第11行的含义是: 12) System.out.println(\13) return -1; 14) }

15) finally{

16) System.out.println(\17) }

18) return 0; 19) } 20) }

如果文件test.txt与Test.java在同一个目录下,test.txt中仅有一行字符串“hello world!”,运行结果是什么? /*

Test t=new Test();

创建test.txt文件的FileInputStream对象,对象引用名为din 运行结果是: two 0 */

24、假设有一个文件为c:\\test.txt,则用FileInputStream类创建该文件引用对象fin的语句是 _____ ,用BufferedReader类去读取该文件需创建引用对象br的语句是____________________________________________________。 // FileInputStream fin=new FileInputStream(\

BufferedReader br=new BufferedReader(new FileReader(\

三、简答题

1、仔细阅读下面的程序,写出程序的执行顺序(写出编号):

11

public class UsingExceptions {

public static void main( String args[] ) {

try{

method1(); // 1 }catch(Exception e){

System.err.println(e.getMessage()); // 2 }

finally{

System.out.println(\ } }

public static void method1() throws Exception {

method2(); //4 }

public static void method2() throws Exception {

method3(); //5 }

public static void method3() throws Exception {

throw new Exception( \ } }

2、阅读下面的程序Test.java,先填写空格的内容,然后写出运行结果:

import java.io.*; public class Test{

public static void main(String argv[]){

; //创建Test对象,对象名为t System.out.println(t.fliton()); }

public int fliton(){ try{

//第9行的含义是: FileInputStream din = new FileInputStream(\ din.read();

}catch(IOException ioe){ //第11行的含义是: System.out.println(\ return -1; }

finally{

System.out.println(\ }

return 0; } }

如果文件test.txt与Test.java在同一个目录下,test.txt中仅有一行字符串“hello world!”,运行结果是什么?

12