10、BufferedWriter的__newLine()__方法可以写入一个换行符。 二、判断题
1、如果一个File表示目录下有文件或者子目录,调用delete()方法也可以将其删除。错 2、装饰设计模式中,装饰对象应该包含一个被装饰对象的引用。对
3、使用ObjectInputStream与ObjectOutputStream类来读取或存储的对象必须要实现Serializable接口,否则程序将出现NotSerializableException异常。对
4、InputStream类的close()方法是用于关闭流并且释放流所占的系统资源。对
5、一般来说,把字符转换成计算机识别的字节序列称为解码,而把字节序列转换为普通人能看懂的明文字符称为编码。错 三、选择题
1、下面选项中,哪些是标准输入输出流?(多选)AB
A、System. In B、System. Out C、InputStream D、OutputStream 2、以下选项中,哪个是FileOutputStream的父类?C A.File B.FileOutput C.OutputStream D.InputStream 3、File类中以字符串形式返回文件绝对路径的的方法是? C A、getParent()
B、getName() D、getPath()
C、getAbsolutePath()
4、下面哪些是常用的字符码表?(多选)ABCD
A、ASCII B、UTF-8 C、ISO8859-1 D、GB2312
5、以下创建RandomAccessFile类实例对象的代码,哪些是正确的? (多选)AB A、RandomAccessFile(new File(“D:\\\\itcast\\\\dir1\\\\test.java”),”rw”) B、RandomAccessFile( “D:\\\\itcast\\\\dir1\\\\test.java”,”r”) C、RandomAccessFile( “D:\\\\itcast\\\\dir1\\\\test.java”)
D、RandomAccessFile( “D:\\\\itcast\\\\dir1\\\\test.java”,”wr”) 6、以下哪些属于InputStream类的方法?(多选)ACD
A、int read(byte[]) B、void flush() C、void close() D、available() 7、以下选项中,哪个流中使用了缓冲区技术?A
A 、BuffereOutputStream B、 FileInputStream C、DataOutputStream D、FileReader
8、以下选项中,哪个是File类delete()方法返回值的类型?A
A、 boolean B、 int C、 String D、 Integer 9、以下选项中,哪个文件操作类可以实现一次读入多个文件?D
A、 FileReader B、BufferedReader C、FileInputStream D、SequenceInputStream 10、以下对File类的public boolea isFile()方法的描述,哪个是正确的?A
A、判断该File对象所对应的是否是文件。 B、判断该File对象所对应的是否是目录。 C、返回文件的最后修改时间。 D、在当前目录下生成指定的目录。
四、程序填空题
1、阅读以下代码,并将空处填写完整。
import java.io.*;
public static void main(String args[])throws Exception{
int a=4;
BufferedReader br=new BufferedReader(new InputStreamReader (System.in)); System.out.println(\请输入一个数字\String input= br.readLine() ; int b=Integer.parseInt(input);
public class Test1 {
if(b>a){
int sum=b/a;
System.out.println(sum); }else{
System.out.println(\输入错误\ } } }
当输入的数字是8时,打印输出的结果是 2 。
2、以下是使用FileInputStream类与FileOutputStream类复制文件。阅读以下代码,并将空处填写完整。
import java.io.*; class Test2 { }
public static void main(String[] args) { }
String file1, file2; int ch = 0;
file1 = \file2 = \try { }
FileInputStream fis = new FileInputStream(file1) ; FileOutputStream fos=new FileOutputStream(file2); int size= fis.available() ;
System.out.println(\字节有效数、\ while ((ch = fis.read()) != -1) { }
fis.close(); fos.close();
System.out.println(e.toString());
System.out.write(ch); fos.write(ch);
} catch (IOException e) {
五、简答题
1、简述流的概念。
Java程序通过流来完成输入和输出,流是输入或输出信息的抽象。流通过Java的输入/输出系统与外设连接进行数据通信。流是抽象的对象,具体实现代码在java.io包中。
2、Java流被分为字节流、字符流两大流类,两者有什么区别?
字节流的两个基类是InputStream和OutputStream,字符流的两个基类是Reader和Writer,它们都是Object类的直接子类,字节流是处理以8位字节为基本单位的字节流类;Reader和Writer类是专门处理16位字节的字符流类。
3、简要说明管道流。
管道流分为管道输入流(PipedInputStream)和管道输出流(PipedOutputStream),通常由一个PipedInputStream实例对象和一个PipedOutputStream实例对象相互连接而实现管道通信,PipedOutputStream向管道写入数据,PipedInputStream从管道中读取PipedOutputStream写入的数据,管道流主要用来完成线程之间的通信。 六、编程题
按照题目需求,编写程序并运行
1、编写一个程序,分别使用字节流和字符流拷贝一个文本文件。 提示:
1)使用FileInputStream、FileOutputStream和FileReader、FileWriter分别进行拷贝
2)使用字节流拷贝时,定义一个1024长度的字节数组作为缓冲区,使用字符流拷贝使用使用
BufferedReader和BufferedWriter包装流进行包装
2、某人在玩游戏的时候输入密码123456后成功进入游戏(输错5次则被强行退出),要求用程序实现密码验证的过程。 提示:
1)使用Sysytem.in包装为字符流读取键盘输入。
2)BufferedReader对字符流进行包装。调用BufferedReader的readLine()方法每次读取一行。 3)在for循环判中判断输入的密码是否为“123456”,如果是则打印“恭喜你进入游戏”,并跳出循环,否则继续循环读取键盘输入。
4)当循环完毕,密码还不正确,则打印“密码错误,结束游戏”,并调用System.exit(0)方法结束程序。
第9章 GUI(图形用户界面)
一、填空题