集合部分测试题
考试宣言:
同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷!
我们考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业!
本套题共40道不定项选择题,其中单选30道,多选10道。单选2分/题,多选4分/题。多选题不全对半分,全对满分。
1.所有异常的父类是()A
a)Throwable类
b)Error类
c)Exception类
d)RuntimeException类
2.下列关键字能和try一起使用的有()CD
a)final
b)finalize
c)finally
d)catch
3.实现下列哪个接口,可以启用序列化功能()b
a)Runnable接口
b)Serializable接口
c)Comparable接口
d)Comparator接口
4.当方法遇到异常(编译时异常)又不知如何处理时,下列哪种说法是正确的()C
a)捕获异常(try{…}catch{…})
b)抛出异常(throw 异常对象)
c)声明异常(throws 异常类型)
d)嵌套异常
5.如何自定义一个异常类()AB
a)让这个类继承Exception
b)让这个类继承RuntimeException
c)让这个类继承Comparator
d)让这个类继承Comparable
6.可以用来操作路径的类是()a
a)File
b)FileStream
c)OutputStream
d)FileReader
7.File类中,创建多级目录,可以通过以下那个方法()d
a)create()
b)createNewFile()
c)mkdir()
d)mkdirs()
8.下列哪一个import命令可以使我们在程序中创建输入/输出流对象()B
a)import java.sql.*;
b)import java.io.*;
c)import https://www.wendangku.net/doc/d510683993.html,.*;
d)import java.util.*;
9.下列关于Java中文件输入输出的说法正确的是()A
a)在Java中,文件的输入输出功能是通过流来实现的
b)如果要把数据写入一个文件中,需要创建一个输入流对象
c)字符流在某些方面比如图片的处理,比字节流更方便x
d)可以通过Reader r = new Reader(“c:\\java.txt”);创建一个输入流对
象
10.获取指定目录下所有的文件,可以通过哪个方法实现:()D
a)list()
b)getDir();
c)listFile()
d)listFiles()
11.下面用字符流能成功拷贝的文件有()BC
a)java基础自测题.doc
b)学生考试答案.xml
c)Student.java
d)学生信息表. xlsx
12.看下面程序,加入xxx.txt里面有一个文字”a”,请问该程序输出结果是()D
public static void demo1() throws FileNotFoundException, IOException {
InputStream is = new InputStream("xxx.txt");
int x = is.read();
System.out.println(x);
}
a) A
b) a
c)97
d)编译报错
13.如果我想保留a.txt中原有的内容,在后面追加写入数据,下面创建输出流对象写法正确
的是()B
a)FileOutputStream fos = new FileOutputStream(“a.txt”);
b)FileOutputStream fos = new FileOutputStream(“a.txt”,true);
c)BufferedOutputStream bos = new
BufferedOutputStream(“a.txt”,true);
d)OutputStreamWriter osw = new OutputStreamWriter(new
InputStream(“a.txt”,true),”gbk”);
14.下面关于字节流说法不正确的是()BC
a)字节流拷贝文件时一次读取一个字节
b)字节流拷贝文件时一次读取两个字节
c)字节流使用完后需要关,内存输出流使用完后也必须要关闭
d)FileOutputStream没有缓冲区,而FileWriter有缓冲区
15.判断一个文件的大小我们可以使用哪个方法(AD)
a)File类的length()方法
b)File类的available()方法
c)FileInputStream类的length()方法
d)FileInputStream类的available()方法
16.已知海贼王全集.avi 这个文件有20Gb 的大小,复制该文件最快的方式是()D
a)
FileInputStream fis = new FileInputStream("双元.jpg");
FileOutputStream fos = new FileOutputStream("copy.jpg");
int b;
while((b = fis.read()) != -1) {
fos.write(b);
}
fis.close();
fos.close();
b)
FileInputStream fis = new FileInputStream("致青春.mp3");
FileOutputStream fos = new FileOutputStream("copy.mp3");
byte[] arr = new byte[fis.available()];
fis.read(arr);
fos.write(arr);
fis.close();
fos.close();
c)
FileInputStream fis = new FileInputStream("xxx.txt");
FileOutputStream fos = new FileOutputStream("yyy.txt");
byte[] arr = new byte[1024];
int len;
while((len = fis.read(arr)) != -1) {
fos.write(arr,0,len);
}
fis.close();
fos.close();
d)
FileInputStream fis = new FileInputStream("xxx.txt");
FileOutputStream fos = new FileOutputStream("yyy.txt");
byte[] arr = new byte[1024*8];
int len;
while((len = fis.read(arr)) != -1) {
fos.write(arr,0,len);
}
fis.close();
fos.close();
17.BufferedInputStream这个类是哪个设计模式的体现()B
a)单例设计模式
b)装饰设计模式
c)工厂设计模式
d)适配器模式
18.下面说法正确的是()D
a)OutputStream是个接口
b)Writer是个接口
c)BufferedOutputStream是FileOutputStream的父类x
d)Reader是InputStreamReader的父类
19.下列关于Java I/O中字符输入流Reader类中的read方法描述错误的是?(A)
a)read()方法的返回值类型为char类型
b)read()方法的返回值类型为int类型
c)read()方法的返回值如果为-1,表示到流的末尾
d)read(char[] cbuf)方法表示将读到的多个字符存入字符数组cbuf中
20.下列哪些选项是Java I/O中字符输出流FileWriter类中的write方法?()ABCD
a)write(char[] cbuf)写入字符数组
b)write(char[] cbuf, int off, int len)写入字符数组的某一部分
c)write(int c)写入单个字符
d)write(String str)写入字符串
21.假设存在xxx.txt文件,内容为”大家好”,以下代码运行的结果为?(A)
public class Test {
public static void main(String[] args) throws IOException { FileReader fr = new FileReader("xxx.txt");
FileWriter fw = new FileWriter("zzz.txt");
int c;
while((c = fr.read()) != -1) {
fw.write();
}
fr.close();
fw.close();
}
}
a)编译报错
b)程序正常运行,zzz.txt文件中的内容为”大家好”
c)程序正常运行,但是没有生成zzz.txt文件
d)程序正常运行,但是zzz.txt文件中是乱码
22.FileWriter类直接继承哪个类?(A)
a)OutputStreamWriter
b)Writer
c)BufferedWriter
d)InputStreamReader
23.关于自定义字符数组拷贝文件的说法错误的是?()AC
a)自定义的数组越大越好
b)自定义的数组既不能太大,也不能太小
c)可以使用FileReader类的available()方法的返回值作为数组的大小
d)建议定义为1024的整数倍,但不能太大,防止内存溢出
24.假设xxx.txt文件中存了2000个汉字,下列程序运行后输出的结果是?(B)public class Test {
public static void main(String[] args) throws IOException { FileReader fr = new FileReader("xxx.txt");
FileWriter fw = new FileWriter("yyy.txt");
int count = 0;
char[] arr = new char[1024];
int len;
while((len = fr.read(arr)) != -1) {
count++;
fw.write(arr,0,len);
}
fr.close();
fw.close();
System.out.println(count);
}
}
a) 1
b) 2
c) 3
d) 4
25.下面的哪个类代表字节输入流到字符输入流转换的桥梁?()A
a)InputStreamReader
b)OutputStreamWriter
c)FileReader
d)BufferedReader
26.BufferedReader读取一行时,判断该行是否结束的标志是什么?()AD
a)\r
b)null
c)-1
d)\r\n
27.缓冲流是否需要关闭()B
a)否
b)是
c)以上答案都不对
d)关不关都可以
28.以下代码运行后输出的结果是?(A)
public class Test {
public static void main(String[] args) throws IOException { System.out.println(fun(5));
}
public static int fun(int num) {
if(num == 1) {
return 1;
}else {
return num * fun(num - 1);
}
}
}
a)120
b)720
c)24
d) 6
29.以下代码运行后输出的结果是?()c
public class Demo8_Digui {
public static void main(String[] args) {
System.out.println(fun(8));
}
public static int fun(int num) {
if(num == 1 || num == 2) {
return 1;
}else {
return fun(num - 2) + fun(num - 1);
}
}
}
a)34
b)13
c)21
d) 5
30.为了提高读写性能,用下面的哪些流?()ABCD
a)BufferedInputStream
b)BufferedOutputStream
c)BufferedReader
d)BufferedWriter
31.下列关于Java I/O中哪个流可以将多个文件中的内容合并到一个文件中(序列流)?()
cC
a)SequenceOutputStream
b)InputStreamReader
c)SequenceInputStream
d)OutputStreamWriter
32.下面的哪个流表示内存输出流?()A
a)ByteArrayOutputStream
b)ByteArrayInputStream
c)ObjectInputStream
d)ObjectOutputStream
33.下面说法正确的是?()b
a)可以通过ByteArrayOutputStream和ByteArrayInputStream实现文件的复制
b)不可以通过ByteArrayOutputStream和ByteArrayInputStream实现文件的复制
c)用ByteArrayOutputStream和ByteArrayInputStream实现文件的复制,会出现乱码
d)用ByteArrayOutputStream和ByteArrayInputStream实现文件的复制,不会出现乱码
34.下面说法错误的是?()D
a)ByteArrayOutputStream内部封装了字节数组
b)new ByteArrayOutputStream()利用空参构造创建对象时,内部的数组的大小为32
c)toByteArray()以字节数组的形式返回数据
d)以上说法都不对
35.关于对象操作流的描述正确的是?()A
a)ObjectOutputStream流是将对象以Object类型写入到文件中
b)ObjectOutputStream流是将内容写入到Object对象中
c)ObjectInputStream流是读取Object对象里的内容
d)ObjectInputStream是从文件中读取一个对象出来,读出来是Object类型的,需要
进行强制类型转换
36.ObjectOputStream类中的哪个方法可以将对象写入到文件中?()C
a)write(Object obj)
b)append(Object obj)
c)writeObject(Object obj)
d)objectWrite(Object obj)
37.下列选项中哪个不属于I/O流?()C
a)FileWriter
b)FileReader
c)Properties
d)PrintStream
38.下列说法不正确的是()D
a)Properties 类表示了一个持久的属性集L
b)Properties 可保存在流中或从流中加载L
c)属性列表中每个键及其对应值都是一个字符串L
d)以上说法都不对
39.以下代码运行后输出的结果是?()C
public class Test {
public static void main(String[] args) throws IOException { Properties prop = new Properties();
prop.setProperty("name", "张三");
prop.setProperty("tel", "189********");
Enumeration
prop.propertyNames();
while(en.hasMoreElements()) {
String key = en.nextElement();
String value = prop.getProperty(key);
System.out.print(value + ":");
}
}
}
a)name:tel
b)tel:name
c)张三:189********:
d)189********:张三
40.关于Properties类中的load和store方法说法正确的是?()AB
a)load方法从流中读取属性列表,键值对,加载到Properties对象中
b)store方法将Properties对象中的键值对,写入到流中
c)load方法将Properties (Properties)对象中的内容加载到文件中
d)以上说法都不对