API阶段测试
一、单选题
异常类都继承自java.lang包下的(C)
A、Error类
B、Exception类
C、Throwable类
D、IOError类
下列符号中,用于分隔throws关键字抛出的多个异常的是(B)
A、;
B、,
C、&
D、|
FileWriter类中的read()方法读取到流末尾的返回值是(B)
修改
A、0
B、-1
C、1
D、无返回值
下列Reader类的常用方法中,将数据直接读入字符输出流的是(D)
A、long transferTo(Writer out)
B、int read()
C、void close()
D、int read(char cbuf[])
下列File类的常用构造方法中,通过指定的一个字符串类型的文件路径创建一个 File对象的是(B)
A、File(String parent,String child)
B、File(File parent,String child)
C、File(String pathname)
D、File(File parent)
在程序开发中,经常需要对文本文件的内容进行读取。如果想从文件中直接读取字符,可以使用字符输入流(A)
A、Reader
B、Writer
C、FileReader
D、FileWriter
可以实现连接字符串的运算符是(A)
A、+
B、-
C、=
D、/
File类提供了一系列方法,用于操作其内部封装的路径指向的文件或者目录。当 File对象对应的文件不存在时,将新建的 File对象指向新文件的方法是(C)
A、String getAbsolutePath()
B、boolean canRead()
C、boolean createNewFile()
D、boolean exists()
在异常处理时,进行释放资源、关闭文件等操作需要的语句是(C)。
A、try
B、catch
C、finally
D、throw
下列File类的常用方法中,返回 File对象表示的文件或目录的名称的是(B)
A、String[] list()
B、String getPath()
C、String getName()
D、String getParentFile()
下列关于StringBuffer类常用方法中,修改指定索引index处的字符序列的是(C)
A、String substring(int start)
B、StringBuffer reverse()
C、void setCharAt(int index,char ch)
D、String toString()
String类中的getBytes()方法的作用是(C)
A、将整数变成字符串
B、将字符串变成字符数组
C、将字符串变成字节数组
D、获取字符串中字符的个数
下列OutputStream类的常用方法中,向输出流写入一字节得的是(D)
A、void flush()
B、void close()
C、void write(int b)
D、void write(byte[] b)
对字符串”ababcdabcdefg”使用indexOf(int ch)和lastIndexOf(int ch)的运行结果是() a b
A、1,1
B、 0,6
C、0,0
D、1,6
下列Writer类的常用方法中,强制将缓冲区的数据同步到输出流中的是(C)
A、void write(int c)
B、void write(char cbuf[])
C、void flush()
D、void close()
下列选项中,对String类的常见构造方法的功能描述错误的是(A)
A、String()创建一个字符串值为0
B、String(Stringvalue)根据指定的value创建字符串
C、String(char[]value)根据指定的value创建字符数组
D、String(byte[]bytes)根据指定的bytes创建字节数组
当访问字符串中的字符时,如果字符的索引不存在,则会发生(B)
A、NullPointerException
B、StringIndexOutOfBoundsException
C、ArithmeticException
D、NumberFormatExceptio
下列关于throws关键字的描述中,正确的是(C)
A、thorws可以声明在方法上也可以声明在方法体中
B、方法上使用throws抛出一个异常则这个方法中一定有try catch代码块
C、使用throws抛出多个异常时各个异常之间必须使用逗号隔开
D、throws必须和throw配合使用
以下关于编译异常的说法中正确的是(C)
A、编译异常就是指Exception类及其子类
B、编译异常如果产生,可以不用处理
C、编译异常如果产生,就必须处理,要么捕获,要么抛出
D、编译异常指的就是Error
关于Java常见的类和接口,下面哪项说法是正确的()
A、String是原始基本数据类型
B、HashMap不允许存放空值、空键
C、List接口允许重复
D、Set接口允许重复
以下String类的方法中,会返回指定字符ch在字符串中最后一次出现位置的索引的是(b)
A、int indexOf(int ch)
B、int lastIndexOf(int ch)
C、int indexOf(String str)
D、int lastIndexOf(String str)
关于StringBuffer和StringBuilder说法正确的是(C)
A、StringBuffer和StringBuilder的方法不同
B、StringBuffer和StringBuilder都是线程安全的
C、StringBuffer是线程安全的,StringBuilder不是线程安全的
D、StringBuffer不是线程安全的,StringBuilder是线程安全的
下面关于字节流缓冲区的说法中错误的是(C)
A、使用字节流缓冲区读写文件是逐字节读写
B、使用字节流缓冲区读写文件时,可以一次读取多个字节的数据
C、使用字节流缓冲区读写文件,可以大大提高文件的读写操作效率
D、字节流缓冲区就是一块内存,用于暂时存放输入输出的数据
使用自定义的异常类,需要用到的关键字是(B)
A、try
B、catch
C、finally
D、throw
下列File类的常用方法中,判断File对象对应的文件或目录是否是绝对路径的是(B)
A、boolean canWrite()
B、boolean isAbsolute()
C、boolean isFile()
D、boolean isDirectory()
下列异常声明中正确的是(D)
A、public void throws IOException fun(){}
B、public void fun throws IOException(){}
C、public void fun() throws IOException{}
D、public void fun() throws IOException,throws SQLException{}
下列选项中,可以正确实现String初始化的是(A)
A、String str= "abc";
B、String str= a' bc';
C、String str= abc;
D、String str= 0;
下列选项中,是所有异常类的父类是(A)
A、Throwable
B、Error
C、Exception
D、RuntimeException
下面程序中运行时会报异常的是(D)
修改
A、int result = 4/0;System.out.println(result)
B、int[] arr = new int[5];System.out.println(arr[6]);
C、int[] arr = new int[3];System.out.println(arr[4])
D、以上选项都错了
下列选项中,能成功使用使用绝对路径创建File对象得是(D)
A、File f = new File("D://file//a.txt");
B、File f = new File("D:\file\a.txt");
C、File f1 = new File("src\\Hello.java");
D、File f = new File("D:\\file\\a.txt");
下面对Throwable类常用的方法的功能描述错误的是()
A、String getMessage()方法返回异常的消息字符串
B、String toString()方法返回异常的简单信息描述
C、void printStackTrace()方法获取异常类名和异常信息以及异常出现在程序中的位置,把信息输出到控制台
D、String toString()方法返回异常的消息字符串
下列关于Writer类哪种描述是正确的()
A、Writer类可以使用不同的字符集编码向输出流写入字符。
B、Writer类可以向输出流写入unicode字符。
C、Writer类提供向输出流写入任何Java基本数据类型的方法。
D、Writer类提供向输入流写入对象类型数据的方法。
下列InputStream类的常用方法中,从输入流读取一字节(8位),把它转换为0~255的整数,并返回这一整数得是(C)
A、void close()
B、int read(byte[] b,int off, int len)
C、int read()
D、int read(byte[] b)
java.io包中唯一一个可以代表磁盘文件的对象的类是(A)
A、File类
B、System类
C、Thread类
D、Date日期类
Strings="oracle";则s.substring(3,4)返回的字符串是(CL)
A、ac
B、cl
C、a
D、ra
下面对处理异常的关键字描述错误的(D)
A、try放置可能引发异常的代码块
B、catch后面对应异常类型和一个代码块,该代码块用于处理这种类型的异常
C、throws用在方法签名中,用于声明该方法可能抛出的异常
D、throw用在方法签名中,用于声明该方法可能抛出的异常
下面关于throws作用的描述中,正确的是(D)
A、一个方法只能抛出一个异常信息
B、一个方法上使用throws声明一个异常说明这个方法运行时一定会抛出这个异常
C、throws可以声明在方法体中用来指定抛出的具体异常
D、throws出现在方法函数头
二、多选题
下列类是定义在java.io包中的抽象类的有(ABC)
A、InputStream
B、OutputStream
C、Reader
D、FileWriter
下列是FileOutStream类的正确构造方法形式的有()
A、FileOutStream(FileDescriptor fd)
B、FileOutStream(boolean b)
C、FileOutStream()
D、FileOutStream(File file)
下列选项中,属于运行时异常的有(ABD)
A、ArithmeticException
B、IndexOutOfBoundsException
C、ClassCastException
D、NullPointerException
程序运行中,异常是否出现,通常取决于(AD)
A、程序的输入
B、程序中对象的当前状态
C、程序所处的运行环境
D、是否对异常进行处理
下列关于字节流和字符流一些类的描述是正确的有(AB)
A、InputStream和OutputStream是基于字节流的。
B、Reader和Writer是基于字符流的。
C、ObjectInputStream和ObjectOutputStream是不支持序列化对象的。
D、Reader和Writer是支持对象序列化。
下列关于try...catch和finally的组合使用,格式正确的有(CB)
A、try{}
B、try{ }catch(ExceptionType1(Exception子类) e1){ } catch(ExceptionType2(Exception类及其子类) e2){ }
C、try{ }catch(ExceptionType(Exception类及其子类) e){ }finally{ }
D、try{ }finally{ }
下列关于FileInputStream类型说法正确的有(AC)
A、创建FileInputStream对象是为了读取文件
B、创建FileInputStream对象时,如果硬盘上对应的文件不存在,则抛出一个异常
C、利用FileInputStream对象可以创建文件
D、FileInputStream对象读取文件时,只能读取文本文件
下列关于throws的描述中,正确的有(ABCD)
A、throws是用来声明一个方法可能抛出的异常信息
B、throws语句用在方法声明后面
C、方法中没有使用catch处理的异常必须使用throws抛出
D、throws关键字对外声明该方法有可能发生的异常,调用者在调用方法时必须在程序中对异常进行处理
以下关于File类说法正确的有(ABC)
A、一个File对象代表了操作系统中的一个文件或者文件夹
B、可以使用File对象创建和删除一个文件
C、可以使用File对象创建和删除一个空文件夹
D、当一个File对象被垃圾回收器回收时,系统上对应的文件或文件夹也被删除。
三、判断题 ╳ √
deleteDir()方法删除目录会放入回收站。(╳ )
StringBuffer reverse()方法可以获取字符串缓冲区中的字符串。( ╳ )
Throwable有两个直接子类——Error和Exception,其中Error代表程序中产生的异常,Exception代表程序中产生的错误。( ╳ )
在Java语言中如果发生异常,但没有捕获异常的代码,程序会正常执行。( ╳ )
字节流只能用来读写二进制文件。( ╳ )
运行时异常一般是由程序中的逻辑错误引起的,在程序运行时可以恢复。( ╳ )
FileOutputStream是操作文件的字节输出流,专门用于把数据写入文件。( ╳ )
在处理异常时,try语句块中存放可能发生异常的语句。( √)
Java中的异常类都继承自java.lang.Throwable类。( √)
在JDK文档中读者可以发现任有关Runtime类构造方法的定义。( √)
throw关键字用于方法体内,抛出的是一个异常实例,每次能抛出多个异常实例。(╳ )
在一个异常处理中,finally语句块只能有一个,也可以没有。( √)
FilenameFilter是一个接 口,被称作文件过滤器,其中定义了抽象方法accept( √)。()
当访问字符串中的字符时,如果字符的索引不存在,则会返回null。(╳ )
Random类的int nextInt(int n)方法生成[1~n)区间的int类型的随机数。╳
转换流实现了字节流和字符流的互相转换。( √)
JDK 提供了两个抽象类——InputStream和OutputStream,它们是字节流的顶级父类,所有的字节输入流都继承自OutputStream,所有的字节输出流都继承自InputStream。(╳ )
使用字节流缓冲区读取数据比逐字节读取数据的操作效率更低。(╳ )
在Java中,一个对象如果不再被任何栈内存引用,该对象就称为垃圾对象。(╳ )
String类的equals()方法和==的作用是一样的。(╳ )
File类的delete()方法可以删除包含子目录或文件的目录(╳ )
String对象和StringBuffer对象都是字符串变量,创建后都可以修改。( √)
四、填空题
Java中用于获取String字符串长度的方法是【String.length()】。
在程序开发中,用户经常会不小心输入错误的数据和多余的空格,这时可以调用String类的【replace()】和【】方法,进行字符串的替换和去除空格操作。
StringBuffer类和String类最大的区别在于它的【】和【】都是可以改变的。
String字符串在获取某个字符时,会用到字符的【subString()】。
Java提供了对象【】机制,可以将对象中的数据保存到磁盘。
为了保证InputStream在任何情况下都能够正确关闭,可以使用【close()】。
Throwable类是所有异常类的父类,它有两个直接子类:Error类和【Exception】类。
String类的【】方法可以判断字符串长度是否为0。如果为0,返回true;否则返回flase。
String类的【trim()】可以去掉当前字符串首尾的空格。 replaceAll(regex,“xx”)制定规则替换字符
Java中的I/O流按照传输数据的不同可分为【字节传输】和【字符传输】。
StringBuffer类的【】可以获取字符串缓冲区中字符串内容的长度。
运行时异常是在程序运行时由【jvm】自动进行捕获处理的,【jvm】不会对异常进行检查。
在JDK中提供了两个可以将字节流转换为字符流的类,分别是【InputRead】和【OutputRead】。
java.io.FileOutputStream是【OutputStream】的子类,它是操作文件的字节输出流。
Java中用于产生随机数的类是位于java.util包中的【Random】。
I/O系统提供了两个带缓冲的字节流,分别是【String Buffer】和【String Builder】。
在系统回收垃圾对象占用的内存时,会自动调用Object类的【gc()】方法。
如果一个方法要抛出多个异常,可以使用【throws】关键字,多个异常之间用逗号隔开。
在Java中定义了3个类,用来封装对字符串的操作,分别是【String】、【StringBuffer】和【StringBuilder】。
自定义异常需要继承【】类。
java.io包中可以用于从文件中直接读取字符的类是【FileInputStream】。
已知sb为StringBuffer的一个实例,且sb.toString()的值为"abcde",则执行sb.reverse()后,sb.toString()的值为【“ edcba”】。
File类提供了【FileRead】和【FileWriter】,用于操作临时文件。
【throws】关键字用于在方法中声明抛出异常的实例对象。
在方法中,通过throw关键字抛出异常后,还需要使用【try catch】或【】对异常进行处理。
【Exception】类及其子类用于表示运行时异常。
五、简答题
简述处理编译时异常的两种方式。
throws抛出交给jvm
try catch 捕获处理
简述序列化和反序列化。
简述对目录下的文件遍历的3种方式。
简述字符流与字节流的区别。
字节流可以读取任何基本数据类型的文件
字符流只用于读取字符类的数据文件
简述getProperties()和getProperty()方法的区别。
简述String、StringBuffer和StringBuilder三者的区别。
简述substring()方法和split()方法的区别。
substring用来截取字符串
API阶段测试答案
一、单选题
异常类都继承自java.lang包下的()
A、Error类
B、Exception类
C、Throwable类
D、IOError类 参考答案: C
下列符号中,用于分隔throws关键字抛出的多个异常的是()
A、;
B、,
C、&
D、| 参考答案: B
FileWriter类中的read()方法读取到流末尾的返回值是()
修改
A、0
B、-1
C、1
D、无返回值 参考答案: B
下列Reader类的常用方法中,将数据直接读入字符输出流的是()
A、long transferTo(Writer out)
B、int read()
C、void close()
D、int read(char cbuf[]) 参考答案: A
下列File类的常用构造方法中,通过指定的一个字符串类型的文件路径创建一个 File对象的是()
A、File(String parent,String child)
B、File(File parent,String child)
C、File(String pathname)
D、File(File parent) 参考答案: C
在程序开发中,经常需要对文本文件的内容进行读取。如果想从文件中直接读取字符,可以使用字符输入流()
A、Reader
B、Writer
C、FileReader
D、FileWriter 参考答案: C
可以实现连接字符串的运算符是()
A、+
B、-
C、=
D、/ 参考答案: A
File类提供了一系列方法,用于操作其内部封装的路径指向的文件或者目录。当 File对象对应的文件不存在时,将新建的 File对象指向新文件的方法是()
A、String getAbsolutePath()
B、boolean canRead()
C、boolean createNewFile()
D、boolean exists() 参考答案: C
在异常处理时,进行释放资源、关闭文件等操作需要的语句是()。
A、try
B、catch
C、finally
D、throw 参考答案: C
下列File类的常用方法中,返回 File对象表示的文件或目录的名称的是()
A、String[] list()
B、String getPath()
C、String getName()
D、String getParentFile() 参考答案: C
下列关于StringBuffer类常用方法中,修改指定索引index处的字符序列的是()
A、String substring(int start)
B、StringBuffer reverse()
C、void setCharAt(int index,char ch)
D、String toString() 参考答案: C
String类中的getBytes()方法的作用是()
A、将整数变成字符串
B、将字符串变成字符数组
C、将字符串变成字节数组
D、获取字符串中字符的个数 参考答案: C
下列OutputStream类的常用方法中,向输出流写入一字节得的是()
A、void flush()
B、void close()
C、void write(int b)
D、void write(byte[] b) 参考答案: C
对字符串”ababcdabcdefg”使用indexOf(“ab”)和lastIndexOf("ab")的运行结果是()
A、1,1
B、 0,6
C、0,0
D、1,6 参考答案: B
下列Writer类的常用方法中,强制将缓冲区的数据同步到输出流中的是()
A、void write(int c)
B、void write(char cbuf[])
C、void flush()
D、void close() 参考答案: C
下列选项中,对String类的常见构造方法的功能描述错误的是()
A、String()创建一个字符串值为0
B、String(Stringvalue)根据指定的value创建字符串
C、String(char[]value)根据指定的value创建字符数组
D、String(byte[]bytes)根据指定的bytes创建字节数组 参考答案: A
当访问字符串中的字符时,如果字符的索引不存在,则会发生()
A、NullPointerException
B、StringIndexOutOfBoundsException
C、ArithmeticException
D、NumberFormatExceptio 参考答案: B
下列关于throws关键字的描述中,正确的是()
A、thorws可以声明在方法上也可以声明在方法体中
B、方法上使用throws抛出一个异常则这个方法中一定有try catch代码块
C、使用throws抛出多个异常时各个异常之间必须使用逗号隔开
D、throws必须和throw配合使用 参考答案: C
以下关于编译异常的说法中正确的是()
A、编译异常就是指Exception类及其子类
B、编译异常如果产生,可以不用处理
C、编译异常如果产生,就必须处理,要么捕获,要么抛出
D、编译异常指的就是Error 参考答案: C
关于Java常见的类和接口,下面哪项说法是正确的()
A、String是原始基本数据类型
B、HashMap不允许存放空值、空键
C、List接口允许重复
D、Set接口允许重复 参考答案: C
以下String类的方法中,会返回指定字符ch在字符串中最后一次出现位置的索引的是()
A、int indexOf(int ch)
B、int lastIndexOf(int ch)
C、int indexOf(String str)
D、int lastIndexOf(String str) 参考答案: B
关于StringBuffer和StringBuilder说法正确的是()
A、StringBuffer和StringBuilder的方法不同
B、StringBuffer和StringBuilder都是线程安全的
C、StringBuffer是线程安全的,StringBuilder不是线程安全的
D、StringBuffer不是线程安全的,StringBuilder是线程安全的 参考答案: C
下面关于字节流缓冲区的说法中错误的是()
A、使用字节流缓冲区读写文件是逐字节读写
B、使用字节流缓冲区读写文件时,可以一次读取多个字节的数据
C、使用字节流缓冲区读写文件,可以大大提高文件的读写操作效率
D、字节流缓冲区就是一块内存,用于暂时存放输入输出的数据 参考答案: A
使用自定义的异常类,需要用到的关键字是()
A、try
B、catch
C、finally
D、throw 参考答案: D
下列File类的常用方法中,判断File对象对应的文件或目录是否是绝对路径的是()
A、boolean canWrite()
B、boolean isAbsolute()
C、boolean isFile()
D、boolean isDirectory() 参考答案: B
下列异常声明中正确的是()
A、public void throws IOException fun(){}
B、public void fun throws IOException(){}
C、public void fun() throws IOException{}
D、public void fun() throws IOException,throws SQLException{} 参考答案: C
下列选项中,可以正确实现String初始化的是()
A、String str= "abc";
B、String str= a' bc';
C、String str= abc;
D、String str= 0; 参考答案: A
下列选项中,是所有异常类的父类是()
A、Throwable
B、Error
C、Exception
D、RuntimeException 参考答案: A
下面程序中运行时会报异常的是()
修改
A、int result = 4/0;System.out.println(result)
B、int[] arr = new int[5];System.out.println(arr[6]);
C、int[] arr = new int[3];System.out.println(arr[4])
D、以上选项都错了 参考答案: D
下列选项中,能成功使用使用绝对路径创建File对象得是()
A、File f = new File("D://file//a.txt");
B、File f = new File("D:\file\a.txt");
C、File f1 = new File("src\\Hello.java");
D、File f = new File("D:\\file\\a.txt"); 参考答案: D
下面对Throwable类常用的方法的功能描述错误的是()
A、String getMessage()方法返回异常的消息字符串
B、String toString()方法返回异常的简单信息描述
C、void printStackTrace()方法获取异常类名和异常信息以及异常出现在程序中的位置,把信息输出到控制台
D、String toString()方法返回异常的消息字符串 参考答案: D
下列关于Writer类哪种描述是正确的()
A、Writer类可以使用不同的字符集编码向输出流写入字符。
B、Writer类可以向输出流写入unicode字符。
C、Writer类提供向输出流写入任何Java基本数据类型的方法。
D、Writer类提供向输入流写入对象类型数据的方法。 参考答案: A
下列InputStream类的常用方法中,从输入流读取一字节(8位),把它转换为0~255的整数,并返回这一整数得是()
A、void close()
B、int read(byte[] b,int off, int len)
C、int read()
D、int read(byte[] b) 参考答案: C
java.io包中唯一一个可以代表磁盘文件的对象的类是()
A、File类
B、System类
C、Thread类
D、Date日期类 参考答案: A
Strings="oracle";则s.substring(3,4)返回的字符串是()
A、ac
B、c
C、a
D、ra 参考答案: B
下面对处理异常的关键字描述错误的()
A、try放置可能引发异常的代码块
B、catch后面对应异常类型和一个代码块,该代码块用于处理这种类型的异常
C、throws用在方法签名中,用于声明该方法可能抛出的异常
D、throw用在方法签名中,用于声明该方法可能抛出的异常 参考答案: D
下面关于throws作用的描述中,正确的是()
A、一个方法只能抛出一个异常信息
B、一个方法上使用throws声明一个异常说明这个方法运行时一定会抛出这个异常
C、throws可以声明在方法体中用来指定抛出的具体异常
D、throws出现在方法函数头 参考答案: D
二、多选题
下列类是定义在java.io包中的抽象类的有()
A、InputStream
B、OutputStream
C、Reader
D、FileWriter 参考答案: [ "A", "B", "C" ]
下列是FileOutStream类的正确构造方法形式的有()
A、FileOutStream(FileDescriptor fd)
B、FileOutStream(boolean b)
C、FileOutStream()
D、FileOutStream(File file) 参考答案: [ "A", "D" ]
下列选项中,属于运行时异常的有()
A、ArithmeticException
B、IndexOutOfBoundsException
C、ClassCastException
D、NullPointerException 参考答案: [ "A", "B", "C", "D" ]
程序运行中,异常是否出现,通常取决于()
A、程序的输入
B、程序中对象的当前状态
C、程序所处的运行环境
D、是否对异常进行处理 参考答案: [ "A", "B", "C" ]
下列关于字节流和字符流一些类的描述是正确的有()
A、InputStream和OutputStream是基于字节流的。
B、Reader和Writer是基于字符流的。
C、ObjectInputStream和ObjectOutputStream是不支持序列化对象的。
D、Reader和Writer是支持对象序列化。 参考答案: [ "A", "B", "C", "D" ]
下列关于try...catch和finally的组合使用,格式正确的有()
A、try{}
B、try{ }catch(ExceptionType1(Exception子类) e1){ } catch(ExceptionType2(Exception类及其子类) e2){ }
C、try{ }catch(ExceptionType(Exception类及其子类) e){ }finally{ }
D、try{ }finally{ } 参考答案: [ "B", "C", "D" ]
下列关于FileInputStream类型说法正确的有()
A、创建FileInputStream对象是为了读取文件
B、创建FileInputStream对象时,如果硬盘上对应的文件不存在,则抛出一个异常
C、利用FileInputStream对象可以创建文件
D、FileInputStream对象读取文件时,只能读取文本文件 参考答案: [ "A", "B" ]
下列关于throws的描述中,正确的有()
A、throws是用来声明一个方法可能抛出的异常信息
B、throws语句用在方法声明后面
C、方法中没有使用catch处理的异常必须使用throws抛出
D、throws关键字对外声明该方法有可能发生的异常,调用者在调用方法时必须在程序中对异常进行处理 参考答案: [ "A", "B", "C", "D" ]
以下关于File类说法正确的有()
A、一个File对象代表了操作系统中的一个文件或者文件夹
B、可以使用File对象创建和删除一个文件
C、可以使用File对象创建和删除一个空文件夹
D、当一个File对象被垃圾回收器回收时,系统上对应的文件或文件夹也被删除。 参考答案: [ "B", "C" ]
三、判断题
deleteDir()方法删除目录会放入回收站。()
参考答案:
错
StringBuffer reverse()方法可以获取字符串缓冲区中的字符串。()
参考答案:
错
Throwable有两个直接子类——Error和Exception,其中Error代表程序中产生的异常,Exception代表程序中产生的错误。()
参考答案:
错
在Java语言中如果发生异常,但没有捕获异常的代码,程序会正常执行。()
参考答案:
错
字节流只能用来读写二进制文件。()
参考答案:
对
运行时异常一般是由程序中的逻辑错误引起的,在程序运行时可以恢复。()
参考答案:
错
FileOutputStream是操作文件的字节输出流,专门用于把数据写入文件。()
参考答案:
对
在处理异常时,try语句块中存放可能发生异常的语句。()
参考答案:
对
Java中的异常类都继承自java.lang.Throwable类。()
参考答案:
对
在JDK文档中读者可以发现任有关Runtime类构造方法的定义。()
参考答案:
错
throw关键字用于方法体内,抛出的是一个异常实例,每次能抛出多个异常实例。()
参考答案:
错
在一个异常处理中,finally语句块只能有一个,也可以没有。()
参考答案:
对
FilenameFilter是一个接 口,被称作文件过滤器,其中定义了抽象方法accept()。()
参考答案:
对
当访问字符串中的字符时,如果字符的索引不存在,则会返回null。()
参考答案:
错
Random类的int nextInt(int n)方法生成[1~n)区间的int类型的随机数。
参考答案:
错
转换流实现了字节流和字符流的互相转换。()
参考答案:
对
JDK 提供了两个抽象类——InputStream和OutputStream,它们是字节流的顶级父类,所有的字节输入流都继承自OutputStream,所有的字节输出流都继承自InputStream。()
参考答案:
错
使用字节流缓冲区读取数据比逐字节读取数据的操作效率更低。()
参考答案:
错
在Java中,一个对象如果不再被任何栈内存引用,该对象就称为垃圾对象。()
参考答案:
对
String类的equals()方法和==的作用是一样的。()
参考答案:
错
File类的delete()方法可以删除包含子目录或文件的目录()
参考答案:
错
String对象和StringBuffer对象都是字符串变量,创建后都可以修改。()
参考答案:
错
四、填空题
Java中用于获取String字符串长度的方法是【】。
参考答案:
["int length()"]
在程序开发中,用户经常会不小心输入错误的数据和多余的空格,这时可以调用String类的【】和【】方法,进行字符串的替换和去除空格操作。
参考答案:
["replace()","trim()"]
StringBuffer类和String类最大的区别在于它的【】和【】都是可以改变的。
参考答案:
["内容","长度"]
String字符串在获取某个字符时,会用到字符的【】。
参考答案:
["索引"]
Java提供了对象【】机制,可以将对象中的数据保存到磁盘。
参考答案:
["序列化"]
为了保证InputStream在任何情况下都能够正确关闭,可以使用【】。
参考答案:
["try…finally语句"]
Throwable类是所有异常类的父类,它有两个直接子类:Error类和【】类。
参考答案:
["Exception"]
String类的【】方法可以判断字符串长度是否为0。如果为0,返回true;否则返回flase。
参考答案:
["boolean isEmpty()"]
String类的【】可以去掉当前字符串首尾的空格。
参考答案:
["String trim()"]
Java中的I/O流按照传输数据的不同可分为【】和【】。
参考答案:
["字节流","字符流"]
StringBuffer类的【】可以获取字符串缓冲区中字符串内容的长度。
参考答案:
["int length()"]
运行时异常是在程序运行时由【】自动进行捕获处理的,【】不会对异常进行检查。
参考答案:
["Java虚拟机","Java编译器"]
在JDK中提供了两个可以将字节流转换为字符流的类,分别是【】和【】。
参考答案:
["InputStreamReader","OutputStreamWrite"]
java.io.FileOutputStream是【】的子类,它是操作文件的字节输出流。
参考答案:
["OutputStream"]
Java中用于产生随机数的类是位于java.util包中的【】。
参考答案:
["Random类"]
I/O系统提供了两个带缓冲的字节流,分别是【】和【】。
参考答案:
["BufferedFileInputStream","BufferedFileOutputStream"]
在系统回收垃圾对象占用的内存时,会自动调用Object类的【】方法。
参考答案:
["finalize()"]
如果一个方法要抛出多个异常,可以使用【】关键字,多个异常之间用逗号隔开。
参考答案:
["throws"]
在Java中定义了3个类,用来封装对字符串的操作,分别是【】、【】和【】。
参考答案:
["String","StringBuffer","StringBuilder"]
自定义异常需要继承【】类。
参考答案:
["Exception"]
java.io包中可以用于从文件中直接读取字符的类是【】。
参考答案:
["FileReader"]
已知sb为StringBuffer的一个实例,且sb.toString()的值为"abcde",则执行sb.reverse()后,sb.toString()的值为【】。
参考答案:
["\"edcba\""]
File类提供了【】和【】,用于操作临时文件。
参考答案:
["createTempFile()方法","deleteOnExit()方法"]
【】关键字用于在方法中声明抛出异常的实例对象。
参考答案:
["throw"]
在方法中,通过throw关键字抛出异常后,还需要使用【】或【】对异常进行处理。
参考答案:
["throws关键字","try…catch语句"]
【】类及其子类用于表示运行时异常。
参考答案:
["RuntimeException"]
五、简答题
简述处理编译时异常的两种方式。
参考答案:
(1)使用try…catch语句对异常进行捕获处理。(2)使用throws关键字声明抛出异常,调用者对异常进行处理。
简述序列化和反序列化。
参考答案:
对象序列化(serialize)是指将一个Java对象转换成一个I/O流的字节序列的过程。对象序列化机制可以使内存中的Java对象转换成与平台无关的二进制流,通过编写程序,既可以将这种二进制流持久地保存在磁盘上,又可以通过网络将其传输到另一个网络节点。其他程序在获得了二进制流后,还可以将二进制流恢复成原来的Java对象,这种将I/O流中的字节序列恢复为Java对象的过程称为反序列化(deserialize)。
简述对目录下的文件遍历的3种方式。
参考答案:
(1)遍历指定目录下的所有文件。(2)遍历指定目录下指定扩展名的文件。(3)遍历包括子目录中的文件在内的所有文件。
简述字符流与字节流的区别。
参考答案:
字节流的两个基类是InputStream和OutputStream,字符流的两个基类是Reader和Writer,它们都是Object类的直接子类,字节流是处理以8位字节为基本单位的字节流类;Reader和Writer类是专门处理16位字节的字符流类。
简述getProperties()和getProperty()方法的区别。
参考答案:
System类的getProperties()方法用于获取当前系统的全部属性,该方法会返回一个 Properties对象,该对象封装了系统的所有属性,这些属性以键值对形式存在。getProperty()方法可以根据系统的属性名获取对应的属性值。
简述String、StringBuffer和StringBuilder三者的区别。
参考答案:
String类表示的字符串是常量,一旦创建后,内容和长度都是无法改变的。而StringBuilder类和StringBuffer类表示字符容器,其内容和长度可以随时修改。在操作字符串时,如果该字符串仅用于表示数据类型,则使用String类即可;但是如果需要对字符串中的字符进行增删操作,则使用StringBuffer与StringBuilder类。如果有大量字符串拼接操作,并且不要求线程安全,使用StringBuilder类更高效;相反,如果需要线程安全则需要使用StringBuffer类。
简述substring()方法和split()方法的区别。
参考答案:
substring()方法用于截取字符串的一部分,split()方法用于将字符串按照某个字符进行分割。