Java期末考试试题及参考答案(10)

Posted 谷哥的小弟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java期末考试试题及参考答案(10)相关的知识,希望对你有一定的参考价值。


版权声明

  • 本文原创作者:谷哥的小弟
  • 作者博客地址:http://blog.csdn.net/lfdfhl

一、填空题

1.Java中的I/O流,按照传输数据的不同,可分为________和________。
2.java.io包中可以用于从文件中直接读取字符的是________类。
4.IO提供两个带缓冲的字节流,分别是________和________。
4.在JDK中提供了两个类可以将字节流转换为字符流,它们分别是________和________。
5.java.io.FileOutputStream是________的子类,它是操作文件的字节输出流。

二、判断题

1.转换流实现了字节流和字符流之间的互相转换。
2.字节流只能用来读写二进制文件。
3.JDK提供了两个抽象类InputStream和OutputStream,它们是字节流的顶级父类,所有的字节输入流都继承自OutputStream,所有的字节输出流都继承自InputStream。
4.FileOutputStream是操作文件的字节输出流,专门用于把数据写入文件。
5.使用字节流缓冲区读取数据相对一个字节一个字节的读取操作效率更低。

三、选择题

1.下面关于字节流缓冲区的说法错误的是( )。
A、使用字节流缓冲区读写文件是一个字节一个字节的读写
B、使用字节流缓冲区读写文件时,可以一次性读取多个字节的数据
C、使用字节流缓冲区读写文件,可以大大的提高文件的读写操作
D、字节流缓冲区就是一块内存,用于存放暂时输入输出的数据
2.阅读下列代码

import java.io.*;
public class Example 
     public static void main(String[] args) throws Exception 
        FileInputStream in = new FileInputStream("itcast.txt");
        int b = 0;         
        while (true) 
            b = in.______;
            if (b == -1) 
                break;
            
            System.out.println(b);
        
        in.close()
    

下列选项中,填写在程序横线处的方法正确的是()
A、read()
B、close()
C、skip()
D、available()
3.下列选项中,FileWriter类中read()方法读取到流末尾的返回值是( )
A、 0
B、 -1
C、 1
D、 无返回值
4.在程序开发中,经常需要对文本文件的内容进行读取,如果想从文件中直接读取字符便可以使用字符输入流( )
A、Reader
B、Writer
C、FileReader
D、FileWriter
5.File类提供了一系列方法,用于操作其内部封装的路径指向的文件或者目录,当File对象对应的文件不存在时,使用哪个方法将新建的一个File对象指定到新文件中。( )
A、String getAbsolutePath()
B、boolean canRead()
C、boolean createNewFile()
D、boolean exists()

四、简答题

1.简述字符流与字节流的区别。
2.简述InputStreamReader类与OutputStreamWriter类的作用。

五、编程题

  1. 编写一个程序,分别使用字节流和字符流拷贝一个文本文件。要求如下:
    1)使用FileInputStream、FileOutputStreaem和FileReader、FileWriter分别进行拷贝。
    2)使用字节流拷贝时,定义一个1024长度的字节数组作为缓冲区,使用字符流拷贝。

参考答案

一、
1.字节流 字符流
2.Reader
3.BufferedInputStream BufferedOutputStream
4.InputStreamReader OutputStreamWriter
5.OutputStream
二、
1.对
2.错
3.错
4.对
5.错
三、
1.A
2.A
3.B
4.C
5.C
四、
1.
字节流的两个基类是InputStream和OutputStream,字符流的两个基类是Reader和Writer,它们都是Object类的直接子类,字节流是处理以8位字节为基本单位的字节流类;Reader和Writer类是专门处理16位字节的字符流类。
2.
InputStreamReader是Reader的子类,它可以将一个字节输入流转换成字符输入流,方便直接读取字符。OutputStreamWriter是Writer的子类,它可以将一个字节输出流转换成字符输出流,方便直接写入字符。
五、
1.

import java.io.*;
public class Test01 
	public static void main(String[] args) throws Exception 
		// 字节流拷贝
		FileInputStream in = new FileInputStream("E:/src.txt");
		FileOutputStream out = new FileOutputStream("E:/des1.txt");
		byte[] buf = new byte[1024];
		int len;
		while ((len = in.read(buf)) != -1) 
			out.write(buf, 0, len);
		
		in.close();
		out.close();
		// 字符流拷贝
		BufferedReader bf = new BufferedReader(new 
											   FileReader("E:/src.txt"));
		BufferedWriter bw = new BufferedWriter(new 
											   FileWriter("E:/des2.txt"));
		String str;
		while ((str = bf.readLine()) != null) 
			bw.write(str);
			bw.newLine();
		
		bf.close();
		bw.close();
	

以上是关于Java期末考试试题及参考答案(10)的主要内容,如果未能解决你的问题,请参考以下文章

MySQL数据库期末考试试题及参考答案(10)

MySQL数据库期末考试试题及参考答案(10)

前端期末考试试题及参考答案(10)

前端期末考试试题及参考答案(10)

前端期末考试试题及参考答案(10)

Java期末考试试题及参考答案(01)