第十章练习题(输入输出流)
1.下列哪项是Java语言中所定义的字节流?
A.Output
B.Reader
C.Writer
D.InputStream
2.在输入流的read方法返回哪个值的时候表示读取结束?
A. 0
B. 1
C. -1
D. null
3为了从文本文件中逐行读取内容,应该使用哪个处理流对象?
A. BufferedReader
B. BufferedWriter
C. BufferedInputStream
D. BufferedOutputStream
4.为了实现自定义对象的序列化,该自定义对象必须实现哪个接口?
A. Volatile
B. Serializable
C.Runnable
D. Transient
5.以下关于File类的叙述,哪两项正确?(选两项)
A.File类位于java.io包中
B.创建一个File类的实例将导致打开指定文件进行读写
c.File实例不能用于封装目录
D. File实例封装了指定文件的信息
6.删除File实例所对应文件的方法是?
A. mkdir
B. exists
C. delete
D. isHidden
7.现有:
1. import java.util.*;
2. class ScanStuff {
3.public static void main (String [] args) {
4.String S= "x,yy,123";
5.Scanner sc = new Scanner (s);
6.while (sc.hasNext())
7.System.out.print (sc.next() +" ");
8. }
9. }
结果是什么?
A. x yy
B. x,yy,123
C. x yy 123
D. x,yy
E.编译失败
F.运行的时候有异常抛出
8.现有:
一f对一个java .io.File型实例的合法引用
一fr对‘个java.io.FileReader型实例的合法引用
一br对一个java.io.BufferedReader型实例的合法引用
和:
34. String Line=null;
35.
36. //insert code here
37. System.out.println (line);
38. }
哪一行代码插入到36行将循环通过一个文本文件并存文本域中每次输出一行?
A. while( (line=f.read()) !=null) {
B. while( (line=fr.read()) !=null) {
C. while( (line=br.read()) !=null) {
D. while( (line=br.readLine()) !=null) {
E. while( (line=fr.readLine()) !=null) {
F. while( (line=f.readLine()) !=null) {
9.现有:
int x- reader.read();
下面哪一项正确?
A.阅读器不是FileReader或者BufferedReader类型
B.阅读器可以是FileReader或者BufferedReader
c.阅读器可以是FileReader类型,但不能是BufferedReader类型
D.阅读器可以是BufferedReader类型,但不能是FileReader类型
10.现有:
31. String s="write a line to a file";
32. w.print(s+"\n");
哪一个是对的?
A.w即可以是PrintWriter类型,也可以足BufferedWriter类型。
B.w即不可以是PrintWriter类型,也不可以足BufferedWriter类型。
C.w 可以是BufferedWriter类型,但不可以是PrintWriter类型。
D. w以是PrintWriter类型,但不可以是BufferedWriter类型。
11.现有:
-f是一个合法的java.io.File实例的引用
- fr是一个合法的java.io.FileReader实例的引用
- br 是一个合法的java.io.BufferedReader实例的引用
哪两个是合法的?(选两项)
A. File f2=new File (f);
B. FileReader fr2=new FileReader (fr);
C. FileReader fr2=new FileReader(f);
D. FileReader fr2=new FileReader(br);
E. BufferedReader br2 =new BufferedReader (f);
F. BufferedReader br2=new BufferedReader (fr);
12.现有:
-f是一个对java .io.File实例的合法引用
- fw足‘个对java.io.FileWriter实例的合法引用
- bw足一个对java.io.BufferedWriter实例的合法引用
以卜哪一项无效?
A. PrintWriter prtWtr = new PrintWriter (f);
B. PrintWriter prtWtr = new PrintWriter( fw);
C. PrintWriter prtWtr = new PrintWriter(bw):
D. BufferWriter bufWtr = new BufferedWritr(f);
E.BufferWriter bufWtr = new BufferedWriter(fw);
F. BufferWriter bufWtr = new BufferedWriter (bw):
13.现有
1. import java.io.PrintWriter;
2.
3. class DoFormat{
4.public static void main (String [] args) {
5. int x=42;
6. int y=12345;
7. float Z-7 ;
8.System.out.format("一%4d-", X)j
9. System. out.format("-%4d-", y);
10. System. out.format("-%4.ld-",z);
11. }
12. }
结果为:
A.编译失败
B. -42- -1234- -7.0-
C. - 42- -1234- -7.0-
D. - 42- -12345- -7.0-
E.运行时异常被抛出
’14.现自:
10. class Car implements Serializable ()
12. class Ford extends Car {}
如果试图序列化一个Ford实例,结果为:
A.编译失败
B.两个对象被序列化
c.—个对象被序列化
D.运行时异常被抛出
15.现有:
1. class Pet implements Serializable {
2.Collar c= new Collar();
3. }
4. class Collar implements Serializable {
5.collarPart cpl=new CollarPart ("handle");
6.CollarPart cp2=new CollarPart ("clip");
7. }
8.
9. class CollarPart implements Serializable()
如果Pet实例被序列化,则多少对象将被序列化?
a. 0
b. 1
c.2
D. 3
E. 4
F. 5
参考答案
1D
2C
3A
4B
5AC
6C
7B
8D
9B
10D
11C F
12 D
13 E
14 C
15 E