Java基础第五次测验题
一、选择题(不定项选择,每题2分)。 1. 以下关于File 类说法正确的是( )
A: 一个File 对象代表了操作系统中的一个文件或者文件夹 B: 可以使用File 对象创建和删除一个文件 C: 可以使用File 对象创建和删除一个文件夹
D: 当一个File 对象被垃圾回收时,系统上对应的文件或文件夹也被删除 2. 有如下代码,正确答案是( ) public class TestFile{
public static void main(String args[]){
File file = new File(“chp13/corejava.txt”); } }
A. corejava.txt 文件在系统中被创建
B. 在windows 系统上运行出错,因为路径分隔符不正确 C. corejava.txt 文件在系统中没有被创建
D. 如果corejava.txt 文件已存在,则抛出一个异常
3、文件输出流的构造方法是 public FileOutputStream(String name,Boolean append) throws FileNotFoundException,当参数append的值为true时,表示 ( ) A: 创建一个新文件 B: 在原文件的尾部添加数据 C: 覆盖原文件的内容
D: 在原文件的指定位置添加数据 4、下面的程序段的功能是( )
File file=new File(\file.mkdir();
A: 在当前目录下生成子目录:\\xxx\\yyy B: 生成目录: e:\\xxx\\yyy C: 在当前目录下生成文件xxx.yyy D: 以上说法都不对 5、下列不是java的输入输出流的是() A: 文本流 B: 字节流 A: 文件流 B: 字符流
C: 字符流 C: 输入流
D: 文件流 D: 输出流
6、凡是从中央处理器或者是内存流向外部设备的数据流称为() 7、下列叙述中,正确的是( )
A: Reader是一个读取字符文件的接口 B: Reader是读取数据文件的抽象类 C: Reader是一个读取字符文件的抽象类 D: Reader是读取字节文件的一般类 8、字符输出流类都是( )抽象类的子类
A: FilterWriter B: FileWrite C: Writer D: OutputStreamWrite 9、下面关于FileInputStream 类型说法正确的是( ): A: 创建FileInputStream 对象是为了读取硬盘上的文件
B: 创建FileInputStream 对象时,如果硬盘上对应的文件不存在,则抛出异常 C: 利用FileInputStream 对象可以创建文件 D: 以上说法都不对
10、有三种原因可以导致线程不能运行,它们是()。
A.等待 B.阻塞 C.休眠 D.挂起及由于I/O操作而阻塞 11、当()方法终止时,能使线程进入死亡状态。 A.run(); B.setPrority(); A.run( ); A.run();
B.setPrority( ); B.setPrority();
C.yield(); C.yield( ); C.yield( );
D.sleep(); D.sleep( ); D.sleep( );
12、用( )方法可以改变线程的优先级。
13、线程通过( )方法可以使具有相同优先级线程获得处理器。 14、()方法可以用来暂时停止当前线程的运行。
A.stop( ); B.sleep( ); C.wait( ); D.suspend( ); 15、哪个关键字可以抛出异常? ()
A、transient B、 finally C、 throw D、 static 16、当方法遇到异常又不知如何处理时,下列哪种说法是正确的( A、捕获异常 B、抛出异常 17、()类是所有异常类的父类。
A、Throwable B、Error C、Exception D、AWTError 18如下代码创建一个新线程并启动线程: Runnable target=new MyRunnable(); Thread myThread=new Thread(target);
问:如下哪些类可以创建target对象,并能编译正确?()
A: public class MyRunnable extends Runnable { public void run(){} } B: public class MyRunnable extends Object { public void run() {} } C: public class MyRunnable implements Runnable {public void run() {}} D: public class MyRunnable extends Runnable {void run() {}} E: public class MyRunnable implements Runnable {void run() {}} 19、下面程序的运行结果:() publicclass MyThread { }
A pingpong B pongping C pingpong和pongping都有可能 D 都不输出 20、下面哪个流类属于面向字符的输入流( )
publicstaticvoid main(String[] args) { }
staticvoid pong() { }
System.out.print(\); Thread t=new Thread() { }; t.run();
publicvoid run() { }
)
C、声明异常 D、嵌套异常
pong();
System.out.print(\);
A BufferedWriter B FileInputStream
C ObjectInputStream D InputStreamReader 二、填空题。(每题两分)
1、编写一个线程可以通过继承和实现来实现。
2、在执行Java线程的程序中,程序通过方法来启动线程,随后又调用方法。 3、在java中要想实现多线程,必须在主线程中创建新的_____________。 4、Java语言使用___________类及其子类的对象来表示线程。
5、当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于___________状态,此时它已经有了相应的内存空间和其他资源。
6、处于新建状态的线程被启动后,将进入线程队列排队等待CPU服务,此时它已经具备了运行条件,一旦轮到享用CPU资源时,就可以脱离创建它的主线程独立开始自己的生命周期。上述线程是处于____________状态。
7、当就绪状态的线程被调度并获得处理器资源是,便进入_____________状态。
8、一个正在执行的线程如果在某些特殊情况下,如被人为挂起或需要执行时的输入输出操作时,将让出CPU并暂时中止自己的执行,进入____________状态。
9、处于_____________状态的线程不具有继续运行的能力。
10、在线程排队时,____________的线程可以排在较前的位置,能优先享用到处理器资源,而其他线程只能排在它后面再获得处理器资源。 三、简答题。(每题3分)
1、什么是单例模式?有什么作用? 2、什么是装饰模式?有什么作用?
3、start()方法能够重载吗?如果能够重载,还需要做什么? 4、sleep() 和 wait() 有什么区别?
5、启动一个线程是用run()还是start()?请简要说明?
6、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
7、使用Buffered写入文件时,调用flush()方法的作用是什么,如果既不调用flush()方法,也不调用close()方法会出现什么情况,为什么?
8、什么是序列化?Java中如何实现序列化?
9、什么是线程?线程的状态有哪些?以及线程状态之间的关系是什么? 10、Error和exception有什么区别?写出几种你常见的异常? 四、程序题。
1、下列程序将从file1.dat文件中读取全部数据,然后写到file2.dat文件中。(3分) public class FileStreamInOut {
public static void main(String[] args){
try{
File inFile = new File(\File outFile = new File(\
FileInputStream fis = new FileInputStream(_________); FileOutputStream fos = new FileOutputStream(_________); int c;
while((c = fis.read())!=-1){ }
fos.write(c);
}
}
}
_____.close(); _____.close();
System.out.println(\System.out.println(\
}catch(FileNotFoundException e){ }catch(IOException e){
请补全代码。
2、写一个FileFunction类。(3分)
要求:拷贝一个文件到目标路径,检验文件是否存在,如果不存在抛出异常。
拷贝完成后删除所有文件,包括文件夹。
3、利用FileInputStream 和FileOutputStream,完成下面的要求:(4分)
1) 用FileOutputStream 在当前目录下创建一个文件“test.txt”,并向文件输出“HelloWorld”,如果文件已存在,则在原有文件内容后面追加。
2) 用FileInputStream 读入test.txt 文件,并在控制台上打印出test.txt 中的内容。
相关推荐: