十三、流式输入输出与文件处理
1)以下哪个是RandomAccessFile文件的构造方法:
A.RandomAccessFile("data", "r");
B.RandomAccessFile("r", "data");
C.RandomAccessFile("data", "read");
D.RandomAccessFile("read", "data");
2)设有如下代码:
import java.io.*;
public class Th{
public static void main(String argv[]){
Th t = new Th();
t.amethod();
}
public void amethod(){
try{
ioCall();
}catch(IOException ioe){}
}
}
以下哪个最有可能是ioCall方法的方法体?
A. public void ioCall () throws IOException{
DataInputStream din = new DataInputStream(System.in);
din.readChar();
}
B. public void ioCall () throw IOException{
DataInputStream din = new DataInputStream(System.in);
din.readChar();
}
C. public void ioCall (){
DataInputStream din = new DataInputStream(System.in);
din.readChar();
}
D. public void ioCall throws IOException(){
DataInputStream din = new DataInputStream(System.in);
din.readChar();
}
3)当前目录不存在名为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 file=new FileInputStream("Hello.txt");
}
catch(FileNotFoundException e){
System.out.print("No such file found");
return -1;
}
catch(IOException e){
System.out.print("Doing finally");
}
return 0;
}
}
A. No such file found
B. No such file found-1
C. No such file foundDoing finally-1
D. 0
4) 使用哪个类可创建目录?
A. File B. DataOutput C. Directory
D. FileDescriptor E. FileOutputStream
5) 假设raf是一个随机访问文件,以下语句的编译和运行结果为?raf.seek( raf.length() );
A.代码不能编译.
B.会出现IOException
C.文件指针将定位到文件的最后一个字符之前
D.文件指针将定位到文件的最后一个字符
6)以下哪些是FileOutputStream 构造方法的合法形式?
A. FileOutputStream( FileDescriptor fd )
B. FileOutputStream( String n, boolean a )
C. FileOutputStream( boolean a )
D. FileOutputStream()
E. FileOutputStream( File f )
7)以下哪个能编译通过?
A.File f = new File("/","autoexec.bat");
B. DataInputStream d = new DataInputStream(System.in);
C. OutputStreamWriter o = new OutputStreamWriter(System.out);
D. RandomAccessFile r = new RandomAccessFile("OutFile");
8)以下程序的调试结果为:
import java.io.*;
class Base{
public void amethod()throws FileNotFoundException{}
}
public class ExcepDemo extends Base{
public static void main(String argv[]){
ExcepDemo e = new ExcepDemo();
}
public void amethod(){}
protected ExcepDemo(){
try{
DataInputStream din = new DataInputStream(System.in);
System.out.println("Pausing");
din.readByte();
System.out.println("Continuing");
this.amethod();
}catch(IOException ioe) { }
}
}
A. 由于构造方法为protected导致编译出错
B. 由于amethod方法未声明异常导致编译出错
C. 由于amethod方法未声明异常导致运行错误
D. 输出显示 "Pausing",击键后显示"Continuing"
十四、多线程编程
1)什么原因可导致线程停止执行。
A.有更高优先级的线程开始执行;
B.线程调用了 wait()方法;
C.线程调用了yield()方法;
D.线程调用了 pause()方法;
E.线程调用了 sleep() 方法。
2)哪个方法是实现Runnable接口所需的?
A.wait() B.run() C.stop()
D.update() E.resume()
3)以下代码的调试结果为?
public class Bground extends Thread{
public static void main(String argv[]){
Bground b = new Bground();
b.run();
}
public void start(){
for (int i = 0; i <10; i++){
System.out.println("Value of i = " + i);
}
}
}
A.编译错误,没有定义线程的run方法;
B.由于没有定义线程的run方法,而出现运行错误;
C. 编译通过,运行输出 values 0 to 9
D. 编译通过,运行无输出
4) 有关线程的叙述正确的有:
A.通过继承Thread类或实现Runnable接口,可以获得对类中方法的互斥锁定。
B. 可以获得对任何对象的互斥锁定。
C. 线程通过调用对象的synchronized 方法可取得对象的互斥锁定。
D. 线程调度算法是平台独立的。
5) 以下哪个是线程类的方法?
A.yield()
B. sleep(long msec)
C. go()
D. stop()
6) 以下哪个最准确描述synchronized关键字?
A.允许两线程并行运行,而且互相通信;
B. 保证在某时刻只有一个线程可访问方法或对象;
C. 保证允许两个或更多处理同时开始和结束;
D. 保证两个或更多线程同时开始和结束。
参考答案
一、
1) C 2)D 3) D 4) C 5) B 6) A
二、
1)B 2)C 3)C 4)B 5)A 6)E 7) B 8) BE 9) D 10)B
11)D 12)ACD 13)D 14)B 15)D 16) B
三、
1)D 2) C 3) D 4) A 5)B 6)D 7) C 8) E 9)E 10) BC
11) A 12) D
四、
1)C 2)B 3)C 4)C 5)C 6)D 7)B 8)C 9)A 10)D
五、
1)B 2)D 3)A 4)C 5)C 6)B
六、
1)B 2)D 3)C 4)CD 5)C 6)B 7) B
七、
1)A 2)C 3)B 4)D 5)C 6)A 7)A 8)D 9) D
八、
1)C 2)B 3)D 4)D 5)ACD 6)ABD 7)A 8)D 9)C 10)D
11)AC 12)ABD 13) D 14) AD
九、
1)A 2)B 3)B 4)D 5)E 6)A 7)B 8)A 9)ABC
十、
1)A 2)C 3)A 4)C 5)D 6)D 7) B 8)A
十一、
1)A 2)BE 3)CE 4)C 5)A 6)B 7)C 8)BD 9)A 10)AC
11)B 12)C
十二、
1)C 2) AD 3) BCD 4) D 5) BCD 6) C
十三、
1) A 2) A 3) B 4) A 5) B 6) ABE 7) ABC 8) D
十四、
1)ABCE 2)B 3)A 4)CD 5)ABD 6)B