黑马Java_IO知识测试附答案

合集下载

java的io面试题

java的io面试题

java的io面试题在Java编程中,IO(Input/Output)是一个非常重要的概念,用于处理与输入和输出相关的任务。

在面试中,考官通常会问及关于JavaIO的问题,以评估应聘者对Java基础知识的了解程度。

以下是一些常见的Java IO面试题及其答案:1. 什么是流(Stream)?回答:流是Java中处理IO操作的抽象概念。

它代表了数据的传输,可以是从源(输入流)到目标(输出流)的传输。

流分为字节流和字符流两种类型。

2. 字节流和字符流有什么区别?回答:字节流以字节为单位进行数据传输,适用于处理二进制数据或者字节流形式的文本数据。

字符流以字符为单位进行数据传输,适用于处理字符数据。

3. 什么是缓冲流(Buffered Stream)?回答:缓冲流是对字节流和字符流的包装,提供了缓冲功能以提高数据读写的效率。

它通过减少与磁盘之间的实际访问次数来改善性能。

4. 文件读写常用的类有哪些?回答:Java提供了多个类用于文件读写,常见的有File、FileInputStream、FileOutputStream、FileReader、FileWriter等。

5. 如何读取文件内容?回答:可以使用FileInputStream或FileReader来读取文件内容。

首先,通过创建相应的流对象,并指定要读取的文件路径。

然后,使用read方法读取数据,并将其存储到变量中,直到读取完整个文件。

6. 如何写入文件?回答:可以使用FileOutputStream或FileWriter来写入文件。

首先,通过创建相应的流对象,并指定要写入的文件路径。

然后,使用write 方法将要写入的数据以字节或字符的形式传递给流对象。

7. 如何在文件中查找特定内容?回答:可以读取文件的每一行,逐行进行匹配搜索。

可以使用BufferedReader的readLine方法来逐行读取文件内容,并使用String的contains方法判断是否包含目标内容。

黑马Java-IO知识测试附答案

黑马Java-IO知识测试附答案

IO 部分测试题考试宣言:同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷!我们考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业!本套题共40道不定项选择题,其中单选30道,多选10道。

单选2分/题,多选4分/题。

多选题不全对半分,全对满分。

1.下列叙述中,正确的是 ( )A. Reader是一个读取文本文件的接口B. Reader是读取二进制数据文件的抽象类C. Reader是一个读取文本文件的抽象类D. Reader是读取二进制数据文件的一般类2.下面关于IO流的说法正确的是( )A. IO流可以分为字节流和字符流B. 和是专门用于读取和写入文本文件的C. 顶层类有InputStream和OutputStreamD. 顶层类有Reader和Writer,他们都是接口//抽象类3.类描述正确的是( )A. 字节输入流B. 字符输入流//没什么说的,记住吧C. 打印流D. 序列化流4.下列关键字能和try一起使用的有( )A. finalB. finalizeC. finallyD. catch5.具有readLine()方法的类是( )A.B. InputStreamReaderC.D. BufferedReader // readLine()方法是缓冲流BufferedReader的特有方法6.关于newLine()方法描述错误的是( )A. newLine()方法写入换行B. newLine()方法会根据不同操作系统自动选择使用相应的换行符C. newLine()方法是类的方法D. newLine()方法是BufferedWriter类的方法// 这个也是特有方法.7.实现下列哪个接口,可以启用序列化功能( )A. Runnable接口B. Comparable接口C. Serializable接口// 这个记住吧D. Comparator接口8.以下关于java异常说法不正确的是()。

java io面试题

java io面试题

java io面试题Java IO(Input/Output)是Java程序中进行输入输出的基础类库,它提供了一套丰富的类和方法,用于处理文件、网络连接、输入流和输出流等操作。

在Java开发中,掌握和理解Java IO的相关知识是非常重要的。

本文将介绍一些常见的Java IO面试题,帮助读者更好地应对面试。

1. 请解释一下Java IO的工作原理。

Java IO主要通过流(Stream)的方式来操纵数据。

流是输入/输出操作的顶级抽象类,它可以理解为是一个数据在源和目标之间的一个通道。

Java中的流按照输入和输出分成了两个体系:输入流(InputStream)和输出流(OutputStream),分别用于读取和写入数据。

其中,输入流从源读取数据,输出流向目标写入数据。

2. 请解释一下字节流和字符流的区别。

Java IO中的字节流(Byte Stream)操作的是8位字节,它适用于二进制文件和字节流形式的输入输出。

而字符流(Character Stream)操作的是16位Unicode字符,它适用于文本文件和字符流形式的输入输出。

字节流和字符流在处理文本文件时有很大的不同,字节流需要自己处理字符编码转换的问题,而字符流则提供了字符编码转换的功能。

3. 请解释一下Java IO中的四种基本的File类(File、FileReader、FileWriter、FileInputStream、FileOutputStream)的作用,并给出它们的示例使用方式。

- File类:用于表示文件或目录的路径,可以操作文件或目录的属性、创建和删除文件或目录等。

```javaFile file = new File("path/to/file.txt");boolean exists = file.exists();boolean isDirectory = file.isDirectory();```- FileReader和FileWriter类:用于从文件中读取字符流和向文件中写入字符流的操作。

黑马Java基础入学测试题_

黑马Java基础入学测试题_

考试题目:本试卷是JAVA基础班入学考试试卷,主要考察JAVA基础前五天大家在入学之前掌握的一个整体情况,本试卷共有40道题,其中有30道是单选,有10道题是多选题,希望大家认真对待1.Sun公司对Java语言的宣传口号为“一次编程,到处执行”,体现了Java的什么特性B A:编程的简单性B:与平台无关性C:Java的面向对象特性D:Java程序的鲁棒性2.Java平台有三个版本,分别是javaSE、JavaME、javaEE,下列说法不正确的是BA.javaSE是指Java语言的标准版B.javaME是指Java语言的标准版C.javaEE是指企业级的Java开发语言,是为企业提供服务的D. javaME是为机顶盒、移动电话和PDA之类嵌入式消费电子设备提供的Java语言平台,包括虚拟机和一系列标准化的Java API.3.想要运行Java程序,必须得先通过______Java源文件,然后再通过______java程序CA. javaw工具编译 javac工具运行B. java工具编译 javac工具运行C. javac工具编译 java工具运行D. java工具编译 java工具编译4.Java语言中的int及char数据类型的长度分别为CA:16位和8 位B:8位和16位C:32位和16位D:32位和8位5.请问byte数据的取值范围是?CA:0-128B:负127-128C:负128-127D:以上都不对6.java语言的源程序经编译后所生成的程序类型为D A:.exe 型的可执行程序B:.obj 型二进制的程序C:.lib 型二进制的库程序D:.class 型类代码的程序7.某java程序的类定义如下: Bclass MyClass{}则java源文件编译后生成的类文件名称为:A:myclass.classB:MyClass.classC:MYCLASS.classD:MyClass.java8.下列那种标识符在java程序中是错误的DA:MyClass_Base12B:_MyClass$Base12C:$MyClass_12D:76MyClass$129.下列那种标识符不能作为java程序中的变量名B A:INTB:booleanC:characterD:Java_Float10.请问,以下哪些语句不是合法的赋值语句?DA:boolean b = true;B:int a = (int)1.23;C:double x = 1.1;D:char c = '10';11.下面()段java语句在编译时不会出现异常和错误。

(完整版)黑马就业班java测试题

(完整版)黑马就业班java测试题

(完整版)黑马就业班java测试题传智播客java 就业班入学测试题共50 道题,每道题 2 分,总分100 分,80 分为合格。

注意,题目有多选,也有单选。

请认真作答。

1. 在JAVA 中,下列哪些说法是正确的(ac )A.java 源文件的扩展名为.javaB. 写好的java源程序可以直接运行C. 编写的源程序必须先编译后才能运行D. 程序员可以读懂扩展名为.class 的文件2. 下列标识符哪个是合法的(bd )A.class B.$abcC.1234D._name3. 下面哪些赋值语句是正确的?(abd )A. long test = 012; // 八进制0, 二进制0b, 十六禁止0xB. float f = -412;C. int other = (int) true; // 不可以转换D. double d = 0x12345678;E. byte b = 128;// 损失精度4. 在Java 中,下列语句不能通过编译的有( ac)A. String s= “join ”+ 3;B. int a= “join ”+3;C. int a= ‘a '+5;D. float f=5+5.5;5. 设a = 3 ,则表达式(--a )<A. 16B. 8C. 24D. 126. 下列代码运行的结果是( c) public static void main(String[] args) {int x = 4; int y = 5;if(x++>4 & ++y>5) { x++;}System.out.println("x=" + x + ",y=" + y);}A. x=4,y=5B. x=4,y=6C. x=5,y=6D. x=6,y=67. 尝试运行下面的代码会发生什么?( b) public class Test {public static void main(String[] args) { boolean m = true; if (m = false) { System.out.println("true");} else {System.out.println("false");}}}A. 输出字符串”true ”B. 输出字符串”false ”C. 编译时错误D. 运行时错误8. 编译并运行以下代码将发生什么?( d ) public static void main(String args[]){ char digit = 'a';for (int i = 0; i < 10; i++){ switch (digit) {case 'x' :{int j = 0;System.out.println(j); } default : {int j = 100;System.out.println(j);}}int i = j;System.out.println(i);}A. 输出11 次100B. 输出10 次100 ,然后抛出运行期异常C. 编译错误,因为变量i 不能在main() 方法中被声明2次D. 编译错误,因为变量j 不能在main() 方法中被声明2次E. 以上都不对9. class Demo b{public static int fun(int c){return c+=2;}public static void main(String[] args){int temp = fun(2);System.out.println(temp);}}A. 2B. 4C. 6D. 810. 下面哪些函数是public void aMethod(){...} 的重载函数?(bd )A. void aMethod( ){...}B. public int aMethod(int a, float b){...}C. public void aMethod (){...}D. public float aMethod (int m){ ?-}11. 在java 中,关于数组描述正确的是( bcd )A. 数组中的索引下标从1开始B. 存储在数组当中的数据都属于同一数据类型C. 通过数组名」ength() 能获得数组的长度D. 数组的最大索引下标是数组的长度减112. 下面程序的输出结果是什么(d )int[] arr = new int[10];System.out.println(arr[0]);A. 编译不通过}}B. 运行时出错C. 输出nullD. 输出013. 下面哪个语句正确地声明一个整型的二维数组A. int a[][] = new int[][]; //没确定 B. int b[10][10] = new int[][];C. int c[][] = new int[10][10];D. int []d[] = new int[10][10];14. 以下代码输出是( d ) class Demo {public static void main(String[] args) { int i = 0; int sum = 0;while (i <= 10) {i++;if (i % 2 != 0) continue;sum += i; }}System.out.println(sum);}A. 55B. 45C. 35D. 3015. 和下面代码能完成相同的选项是(b )class Demo { public static void main(String[] args) {int i = 1;int sum = 0;while (i <= 100) {if (i % 2 == 0) { sum = sum + i;}i++;}System.out.println(sum);( cd) 维数组长度A. for (int x =1; x<=100;x++){ sum=sum+x;}B. for (int x =0; x<=100;x+=2){ sum=sum+x;}C. for (int x =1; x<=100;x+=2){ sum=sum+x;}D. 上述全对16. 下列有关类、对象和实例的叙述,正确的是哪一项?(d)A. 类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别B. 对象是类的抽象,类是对象的具体化,实例是对象的另一个名称C. 类是对象的抽象,对象是类的具体化,实例是类的另一个名称D. 类是对象的抽象,对象是类的具体化,实例是对象的另一个名称17. 下面关于java 中包的说法正确的是(acd )A. 在java 中可以使用import 语句导入包B. 在java 中可以使用package 语句导入包C. 位于同一个包中的类,不需要导包就可以直接访问D. 不同的包中可以出现类名相同的类18. 下列有关抽象类的叙述正确的是哪项?(c)A. 抽象类中一定含有抽象方法B. 抽象类既能被实例化也能被继承C. 抽象类的声明必须包含abstract 关键字D. 抽象类中不能有构造方法19. 下列有关接口的叙述错误的是哪项?(d)A. 接口中只能包含抽象方法和常量B. 一个类可以实现多个接口C. 类实现接口时必须实现其中的方法D. 接口不能被继承20. 运行以下代码片段,输出结果是? ( d )class X {Y b = new Y();X() {System.out.print("X");}}class Y {Y() {System.out.print("Y");}public class Z extends X {}Y b = new Y();X() {System.out.print("X");}Y y = new Y();Z() {System.out.print("Z");}public static void main(String[] args) { new Z();}}A. ZB. YZC. XYZD. YXYZ21. 下列关于类的继承的描述,正确的有(bd )A. 一个类可以同时继承多个父类B. 一个类可以具有多个子类C. 子类会自动拥有父类所有的方法// 非私有的D. 一个类继承另一个类需要使用extends 关键字22. 下列选项中关于java 中this 关键字的说法错误的有( bd )A. this 关键字是一个对象的引用B. this 关键字可以用于引用当前类以外其他类型的对象C. this 可用于构造函数中,调用类本身重载的构造函数,但是必须写在首行D. this 可用于静态方法中23. 下列关于构造函数的说法正确的是( ac )A. 方法名必须与类名相同B. 使用new 关键字创建对象时,java 虚拟机会自动调用构造函数C. 我们在定义一个类时,必须要声明至少一个构造函数D. 构造函数中不能使用return 语句可以有24. 编译并运行以下代码将发生什么?( d ) class MyClass {int x;MyClass(int i) {x = i;}public static void main(String args[]) {MyClass m1 = new MyClass(100);MyClass m2 = new MyClass(100);if (m1.equals(m2)) {System.out.println("Both are equal");} else {System.out.println("Both are not equal");}} // 地址值}A. 代码编译时报出错误提示信息“ equals() 方法未定义”B. 编译通过,抛出运行期异常.C. 输出Both are equal.D. 输出Both are not equal25. 运行以下的main() 方法,结果是?( a )1 public static void main(String[] args)2 {3 String myString;4 int x = 100;56 if (x < 100) myString = "x is less than 100";7 if (x > 100) myString = "x is greater than 100";8 System.out.println(myString.length());9 }A.编译时报出错误提示信息“变量myString 没有被初始化”B.编译通过C.编译未能通过。

java黑马 课后基础题

java黑马 课后基础题

java黑马课后基础题
黑马程序员是专注于Java开发的培训机构,其课后基础题可以帮助学员巩
固所学知识,提高编程技能。

以下是一些常见的黑马程序员课后基础题目:
1. 什么是Java中的基本数据类型?请列举出8种基本数据类型,并说明它
们的取值范围。

2. Java中的关键字有哪些?请列举出至少10个关键字,并解释它们的作用。

3. 什么是Java中的注释?请说明单行注释和多行注释的用法。

4. Java中的运算符有哪些?请列举出至少10种运算符,并说明它们的优先级。

5. 什么是Java中的控制流语句?请列举出至少5种控制流语句,并说明它
们的用法。

6. Java中的异常处理机制是什么?请说明try-catch语句的用法。

7. 什么是Java中的类和对象?请说明类和对象的关系。

8. Java中的继承是什么?请说明继承的实现方式。

9. Java中的多态是什么?请说明多态的实现方式。

10. Java中的封装是什么?请说明封装的作用。

以上题目只是黑马程序员课后基础题的一部分,学员可以通过完成这些题目来巩固所学知识,提高自己的编程技能。

同时,也可以通过参考答案和解析来检查自己的答案是否正确,加深对知识点的理解。

【黑马程序员】Java笔试中常见的问题及经典答案

【黑马程序员】Java笔试中常见的问题及经典答案1、java中实现多态的机制是什么?答:方法的重写Overriding和重载Overloading是Java多态性的不同表现。

重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。

2、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收答:对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。

通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象。

通过这种方式确定哪些对象是"可达的",哪些对象是"不可达的"。

当GC确定一些对象为"不可达"时,GC就有责任回收这些内存空间。

可以。

程序员可以手动执行System.gc(),通知GC运行,但是Java语言规范并不保证GC一定会执行。

3、静态变量和实例变量的区别?答:static i = 10; //常量class A a; a.i =10;//可变4、什么是java序列化,如何实现java序列化?答:序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。

可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。

序列化是为了解决在对对象流进行读写操作时所引发的问题。

序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。

基本知识黑马面试必考题

基本知识JDK和JRE的区别答:JDK是java语言开发工具包,包含JRE和开发工具(javac.exe等);JRE是java语言的运行环境,包含JVM和核心类库;JVM是java虚拟机,保证了java的跨平台性。

JVM跨平台吗?答:JVM不具有跨平台性,不同的操作系统所对应的JVM不一样。

正是因为JVM的不跨平台,才能够使java语言具有跨平台性。

保留字是什么?答:保留字是还未使用的关键字,可能在java以后的版本中使用。

有goto和const。

java语言的特点?答:完全面向对象,跨平台性,开源,简单易学,安全可靠,高性能,分布式处理,多线程,健壮性,多态。

main是关键字吗?答:不是的。

main是主函数的名字,能够被虚拟机识别,是程序执行的入口。

\path和classpath的区别?答:path环境变量配置的是可执行文件.exe的执行路径;能够在不同盘符下访问path路径下的可执行文件。

Classpath配置的java语言编译后生成的字节码文件的执行路径。

7. 计算机最基本的存储单位是:字节(byte)计算机能直接识别的进制是:二进制8进行运算的时,变量和常量有什么区别?答:变量在运算过程中的值是变化的,可以被多次赋值。

常量则是固定的。

9标识符的组成?以及命名规则?答:标识符有26个字母的大小写,0到9,_和$组成。

命名规则:不能使用关键字,不能数字开头,严格区分大小写,要见名知义。

函数名和变量名如果是多个单词组成,第一个单词的首字母小写,其余首字母大写。

类名和接口名如果是多个单词组成,首字母全部大写。

包名全部小写。

常量名全部大写,如果是多个单词,用_隔开。

10.变量数据类型分为哪几种?如何使用变量?答:基本数据类型:整形:包括byte、short、int、long。

浮点型:包括float、doble。

字符型;char;布尔型:boolean。

引用数据类型:数组、类、接口。

变量需要先定义,再赋值,才能使用。

黑马测试题及答案

黑马测试题及答案一、单项选择题(每题2分,共10题)1. 以下哪个选项是计算机编程语言?A. 英语B. 法语C. 汉语D. Python答案:D2. 互联网的全称是什么?A. 国际互联网B. 万维网C. 局域网D. 广域网答案:A3. 以下哪个选项不是计算机硬件?A. CPUB. 内存C. 硬盘D. 操作系统答案:D4. 计算机病毒的主要传播途径是什么?A. 电子邮件B. 网络下载C. 移动存储设备D. 以上都是5. 以下哪个选项是数据库管理系统?A. ExcelB. WordC. PowerPointD. Photoshop答案:A6. 以下哪个选项是计算机操作系统?A. WindowsB. LinuxC. AndroidD. 以上都是答案:D7. 以下哪个选项是计算机编程语言?A. JavaB. C++C. RubyD. 以上都是答案:D8. 以下哪个选项是计算机存储单位?A. 字节B. 千字节C. 兆字节D. 以上都是答案:D9. 以下哪个选项是计算机网络协议?B. FTPC. TCP/IPD. 以上都是答案:D10. 以下哪个选项是计算机图形处理单元?A. GPUB. CPUC. RAMD. ROM答案:A二、多项选择题(每题3分,共5题)1. 以下哪些选项是计算机硬件?A. 显示器B. 键盘C. 鼠标D. 操作系统答案:A, B, C2. 以下哪些选项是计算机软件?A. 操作系统B. 文字处理软件C. 图像编辑软件D. 游戏答案:A, B, C, D3. 以下哪些选项是计算机存储设备?A. 固态硬盘B. 机械硬盘D. 优盘答案:A, B, C, D4. 以下哪些选项是计算机编程语言?A. PHPB. JavaScriptC. SwiftD. Kotlin答案:A, B, C, D5. 以下哪些选项是计算机网络协议?A. SMTPB. POP3C. IMAPD. SNMP答案:A, B, C, D三、判断题(每题1分,共5题)1. 计算机病毒只能通过电子邮件传播。

黑马Java-IO知识测试--A卷.docx

IO部分测试题考试宣言 :同学们 , 考试考多少分不是我们的目的 ! 排在班级多少的名次也不是我们的初衷 !我们考试的目的是要通过考试中的题目, 检查大家在这段时间的学习中 , 是否已经把需要掌握的知识掌握住了, 如果哪道题目你不会做,又或者做错了 , 那么不用怕 , 考完试后 , 导师讲解的时候你要注意听 ! 那时候学会了 , 记住了 , 也一样不影响你高薪就业 !本套题共 40 道不定项选择题,其中单选 30 道,多选 10 道。

单选 2 分/ 题,多选 4 分/ 题。

多选题不全对半分,全对满分。

1.下列叙述中,正确的是 ( C)A.Reader是一个读取文本文件的接口B.Reader是读取二进制数据文件的抽象类C.Reader是一个读取文本文件的抽象类D.Reader是读取二进制数据文件的一般类2.下面关于 IO 流的说法正确的是 ( ABC )A.IO 流可以分为字节流和字符流B.和是专门用于读取和写入文本文件的C.顶层类有InputStream和OutputStreamD.顶层类有Reader和Writer,他们都是接口3.类描述正确的是 ( B )A.字节输入流B.字符输入流C.打印流D.序列化流4.下列关键字能和 try 一起使用的有 ( CD)A.finalB.finalizeC.finallyD.catch5.具有 readLine()方法的是( D )A.B.InputStreamReaderC.D.BufferedReader6.关于 newLine() 方法描述的是( C )A.newLine()方法写入行B.newLine()方法会根据不同操作系自使用相的行符C.newLine()方法是的方法D. newLine()方法是BufferedWriter的方法7.下列哪个接口,可以启用序列化功能( C )A. Runnable接口 CB. Comparable接口C. Serializable接口D. Comparator接口8.以下关于 java 异常法不正确的是( D )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

IO 部分测试题考试宣言:同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷!我们考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业!本套题共40道不定项选择题,其中单选30道,多选10道。

单选2分/题,多选4分/题。

多选题不全对半分,全对满分。

1.下列叙述中,正确的是 ( )A. Reader是一个读取文本文件的接口B. Reader是读取二进制数据文件的抽象类C. Reader是一个读取文本文件的抽象类D. Reader是读取二进制数据文件的一般类2.下面关于IO流的说法正确的是( )A. IO流可以分为字节流和字符流B. FileReader和FileWriter是专门用于读取和写入文本文件的C. 顶层类有InputStream和OutputStreamD. 顶层类有Reader和Writer,他们都是接口//抽象类3.FileReader类描述正确的是( )A. 字节输入流B. 字符输入流//没什么说的,记住吧C. 打印流D. 序列化流4.下列关键字能和try一起使用的有( )A. finalB. finalizeC. finallyD. catch5.具有readLine()方法的类是( )A. FileWriterB. InputStreamReaderC. FileReaderD. BufferedReader // readLine()方法是缓冲流BufferedReader的特有方法6.关于newLine()方法描述错误的是( )A. newLine()方法写入换行B. newLine()方法会根据不同操作系统自动选择使用相应的换行符C. newLine()方法是FileWiter类的方法D. newLine()方法是BufferedWriter类的方法// 这个也是特有方法.7.实现下列哪个接口,可以启用序列化功能( )A. Runnable接口B. Comparable接口C. Serializable接口// 这个记住吧D. Comparator接口8.以下关于java异常说法不正确的是()。

A. Throwable 类是 Java 语言中Error类和Exception类的父类。

B. 当异常对象是Exception类(或其子类)的实例时,能通过 Java 虚拟机或者 throw语句抛出该异常对象,并能通过try…catch…finally处理。

C. jdk6(包括jdk6)之前,如果只用一个catch块捕捉多个异常对象,则catch 子句中的参数类型应是所有存在的异常对象的父类。

D. 以上说法都不对。

9.字节输出流的抽象基类是( )A. OutputStream类 //记住吧,没什么说的.B. InputStream类C. Writer类D. Reader类10.下面程序的运行结果是( )FileOutputStream fos = new FileOutputStream(“c:\\demo.txt”);fos.write(“abc”); // 字节流没有write 字符串的方法.看API就明白了.fos.close();A. 在C盘创建文件demo.txt,但文件是空的B. 在C盘创建文件demo.txt,并写入数据abcC. 将C盘已有的文件demo.txt中追加写入abcD. 编译失败//字节流没有 write(“字符串”)的方法,所以编译出错.11.下列关于Java中文件输入输出的说法正确的是 ( )A. 在Java中,文件的输入输出功能是通过流来实现的B. 如果要把数据写入一个文件中,需要创建一个流对象C. 字符流在某些方面比如图片的处理,比字节流更方便D. 可以通过Reader r = new Reader(“c:\\java.txt”);创建一个输入流对象12.Properties类中的哪个方法可以和IO流相关联( ) //这个类重点掌握,就业班会用的到.A. getProperty()B. setProperty()C. load() //load()方法把文件中的数据加载到集合中, store()方法把集合中的数据在存到文件中去.这是properties特有的方法,有实用价值.D. stringPropertyNames()13.关于打印流PrintWriter说法正确的是( )A. 该流只操作数据目的,不操作数据源B. 该流只操作数据源,不操作数据目的C. 如果启用了自动刷新,该流调用println()方法时可以自动刷新D. 该流是Writer的子类14.下面关于Java中异常处理try块的说法正确的是( )A. try块后通常应有一个catch 块,用来处理try块中抛出的异常。

B. catch 块后必须有finally块。

//不是必须的C. 释放资源的代码应放在try块中。

//是应该放在finally里面D. 对抛出的异常的处理必须放在try块中//放在catch里面15.File类中的listFiles()方法说法正确的是( )A. 获取File对象封装的路径下的全部文件和文件夹对象B. 只获取File对象封装的路径下的文件C. 该方法返回File类型数组D. 该方法返回String类型数组16.下面的程序创建了一个文件输出流对象,用来向文件test.txt中输出数据,假设程序当前目录下不存在文件test.txt,编译下面的程序Test.java后,将该程序运行3次,则文件test.txt 的内容是( )。

import java.io.*;public class Test {public static void main(String args[]) {try {String s="ABCDE ";byte b[]=s.getBytes();FileOutputStream file=new FileOutputStream("test.txt",true); //看这里file.write(b);file.close();}catch(IOException e) {System.out.println(e.toString());}}}A. ABCABCB. ABCDEC. TestD. ABCDE ABCDE ABCDE17.以下哪两个流对象可以实现任意类型文件的成功复制( )A. FileReader 和 FileWriterB. FileInputStream和FileOutputStream //任意文件,那只能是字节流.C. BufferedReader和 BufferedWriterD. InputSteamReader和OutputStreamWriter18.下面说法不正确的是 ( )A. final是个关键字,用来修饰成员变量(此变量就为常量)、成员方法(此方法不能被重写)、类(此类不能被继承)B. finally是异常处理的一部分,它里面的代码正常情况下永远被执行C. finalize是Object类中定义的,用于垃圾回收,由垃圾回收器调用。

D. final、finally、finalize三个关键字都可以在类的内部使用//finalize不是关键字,他是一个方法名19.关于File类中的exists()方法说法错误的是( )A. 判断File对象中封装的路径所对应的文件或者文件夹是否存在B. 此方法返回boolean类型值C. 判断File对象封装的路径是否是相对路径D. 判断File对象封装的路径是否是绝对路径20.下面哪个流是字节通向字符的桥梁( )A. InputStreamReader // 看下API,上面写的很清楚. 那大家想想,字符流通向字节流的桥梁是哪个?B. OutputStreamWriterC. LineNumberReaderD. ObjectInputStream21.关于对象的序列化说法错误的是( )A. 实现序列化的对象必须实现Serializable接口B. 实现序列化的对象必须自定义序列号//可以不用定义,这个开发很少用.C. ObjectOutputStream中的writeObject()方法可以将对象写出D. ObjectInputStream中的readObject()方法可以读取对象22.关于字符输入流FileReader描述错误的是( )A. 可以读取文本文件B. 是Reader的子类C. 具有读取一行的方法//ReadLine是BufferedReader的特有方法D. 无法获得要读取文件的字节数23.下面关于java中输入/输出流的说法正确的是( )。

A. FileInputStream与FileOutputStream类用来读、写字节流。

B. FileReader与FileWriter类用来读、写字符流。

C. File类既可以用来读文件,也可以用来写文件。

//仅仅是关联,读写是流的操作D. File类用来处理与文件相关的操作。

24.使用字符流可以成功复制哪些文件( )A. 文本文件//字符流只能做这个,其他文件可能会有丢失.B. 图片文件C. 视频文件D. 以上都可以复制25.java.io包中提供的用于筛选文件名的接口是( )A. DataInputB. DataOutputStreamC. RandomAccessFileD. FileNameFilter //查API吧26.下列流中哪一个使用了缓冲区技术( )A. BufferedOutputStream //Buffered表示缓冲B. FileInputStreamC. DataOutputStreamD. FileReader27.通常情况下,下列哪一个类的对象可以作为BufferedReader类的构造函数的参数( )A.InputStreamReaderB.PrintStreamC.OutputStreamReaderD.PrintWriter28.若要创建一个新的含有父目录的目录,应该使用下列哪一个类的实例( )A.RandomAccessFileB.FileOutputStreamC.FileD.以上都对29.如果在当前目录下不存在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 dis=new FileInputStream("Hello.txt");}catch (FileNotFoundException fne) {System.out.println("No such file found");return -1;}catch(IOException ioe) {} finally{System.out.println("Doing finally");}return 0;}}A. No such file foundB. No such file found ,-1C. No such file found, Doing finally, -1 //好好研究D. 030.与InputStream流相对应的Java系统的标准输入对象是A.System.inB.System.outC.System.errD.System.exit()31.文件输出流的构造方法是public FileOutputStream(String name,Boolean append)throws FileNotFoundException,当参数append的值为true时,表示( )A.创建一个新文件B. 在原文件的尾部添加数据C. 覆盖原文件的内容D. 在原文件的指定位置添加数据32.下面的程序段的功能是 ()File file1=new File("e:\\xxx\\yyy");file1.mkdir();A. 在当前目录下生成子目录:\xxx\yyyB. 生成目录:e:\xxx\yyyC. 在当前目录下生成文件xxx.yyyD. 以上说法都不对33.下列哪两个方法可以创建目录( )A. createNewFile()B. createTempFile()C. mkdir()D. mkdirs() //开发建议用这个,它可以创建多层级目录,也可以创建单级目录.如果用mkdir(),有时会报错.34.下面的程序段创建了BufferedReader类的对象in,以便读取本机d盘my文件夹下的文件1.txt。

相关文档
最新文档