AnjoyoJava07课后习题noXMLWord文档下载推荐.docx
- 文档编号:21109914
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:12
- 大小:22.22KB
AnjoyoJava07课后习题noXMLWord文档下载推荐.docx
《AnjoyoJava07课后习题noXMLWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《AnjoyoJava07课后习题noXMLWord文档下载推荐.docx(12页珍藏版)》请在冰豆网上搜索。
D、只需将FileNameFilter对象作为accept()方法参数,不需要在程序中调用list()方法,程序在运行过程中会自动调用这个方法来过滤文件,它是一个回调方法(callbackmethod)。
5.下面关于流的概述说法错误的一项是(A)。
A、stream是从起源到接收的无序数据。
---
B、Java中把不同的输入/输出源(例如:
键盘、网络连接等)抽象表述为“流”,通过流的方式允许Java程序使用相同的方式来访问不同的输入/输出源。
C、Java的IO流是实现输入/输出的基础,它可以方便实现数据的输入/输出操作。
D、输入的数据来自键盘、文件、其它应用程序或者网络,而输出的数据可以给屏幕、文件、其它应用程序或者网络等。
6.下面关于流的描述有误的一项是(A)。
A、流是指一连串流动的字符,是以先进后出的方式发送信息的通道。
B、在Java中,处理字节流的两个基础的类是InputStream和OutputStream。
C、在Java中,用于处理字符流的两个基础的类是Reader和Writer。
D、按照流的方向分,可以分为输入流(InputStream)和输出流(OutputStream)。
7.下面关于流的分类说法错误的一项是(B)。
A、用于处理字节数据分类的方式中,按照流的方向分,可以分为输入流(InputStream)和输出流(OutputStream)。
B、输出流(OutputStream):
既能向其写入数据,也能从中读取数据。
C、输入流(InputStream):
只能从中读取数据,而不能向其写入数据。
D、输入流和输出流分别通过抽象类InputStream和OutputStream来实现。
8.下面关于流的分类说法错误的一项是(B)。
A、为了处理Unicode字符串,定义了一系列的单独类,这些类是从抽象类Reader和Writer继承而来的。
B、这些单独类的操作均以单字节(16-bits)的Unicode字符为基础,而非双字节的字符为基础。
C、处理流是“处理流的流”,它用来处理其它的流,处理流又被称为高级流(HighLevelStream)。
D、节点流又常常被称为低级流(LowLevelStream)。
9.下列关于节点流和处理流说法错误的一项是(C)。
A、按照流的“角色”分,可以分为“节点流”和“处理流”。
B、节点流又常常被称为低级流(LowLevelStream)。
C、可以向一个特定的IO设备(例如磁盘或网络)读/写数据的流,称为处理流。
D、实现对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读/写功能的流,称为处理流。
10.下列关于InputStream和OutputStream描述有误的一项是(C)。
A、InputStream用于从源按照字节读取数据,它的intread()方法读取一个字节,并将它返回,如果遇到源的末尾,则返回-1。
可以通过返回的值是否为-1来判断是否已经到了流的末尾。
B、InputStream/OutputStream是抽象类,提供了输入输出处理的基本接口。
C、OutputStream的intread(byte[]buffer)方法将数据读入一个字节数组,同时返回读取的字节数,如果遇到源的末尾,则返回-1。
D、InputStream/OutputStream读/写流的方式都是以字节为单位进行的。
11.下面关于InputStream描述有误的一项是(B)。
A、InputStream中的read()方法以“阻塞(blocking)读取方式工作”,这就意味着如果源中没有数据,该方法将一直等待(处于阻塞状态)。
B、InputStream的voidclose()方法用于关闭该流,在使用完流以后,不一定要使用此方法将流关闭,释放流所占用的资源。
C、InputStream的intavailable()方法用于返回在不发生阻塞情况下,该流中可以读取的字节数。
D、InputStream的voidreset()方法是返回到流的上一个标记。
以后再次调用read()方法的时候,将会重读那些数据,如果流没有做标记,则不进行reset操作。
12.下面关于低级InputStream类(节点流)的说法有误的一项是()。
A、低级InputStream类(节点流)的ByteArrayInputStream方法为读取字节数组设计的流,允许内存的一个缓冲区被当作InputStream使用。
B、低级InputStream类(节点流)的PipedInputStream方法即管道流,产生一份数据,能被写入相应的PipedOutputStream。
C、低级InputStream类(节点流)的FilterInputStream方法,它派生自InutStream,其功能在于将一个流连接到另一个流的末端,它将两种流连接起来。
D、低级InputStream类(节点流)的DataInputStream方法,它是FilterInputStream抽象类的子类,并且提供了用于从另一个流中读取简单数据类型数据和String类型数据的读取方法。
13.下列关于高级InputStream类(处理流)的描述正确的一项是()。
A、高级InputStream类(处理流)的FileInputStream方法用于读取文件中的信息,它用于从文件中读取二进制数据。
B、高级InputStream类(处理流)的ByteArrayInputStream方法是读取字节数组设计的流,允许内存的一个缓冲区被当作InputStream使用。
C、高级InputStream类(处理流)的BufferedInputStream方法提供内部缓冲能力的字节流,它避免了每次需要数据的时候都必须进行读取,可以减少对系统资源的读写,从而提高程序的运行效率。
D、高级InputStream类(处理流)的PipedInputStream方法是管道流,产生一份数据,能被写入相应的PipedOutputStream。
14.下面关于低级与高级OutputStream描述有误的一项是()。
A、与低级InputStream相对,低级OutputStream是用来向设备中写出字节流的类。
B、低级OutputStream的ByteArrayOutputStream方法是按照字节数组方式来向设备中写出字节流的类。
C、低级OutputStream的PipedOutputStream方法是管道输出,与PipedInputStream相对。
D、高级OutputStream的BufferedOutputStream方法提供了具有内部缓冲能力的字节流,避免了每次想要写入数据时都需要执行实际写入动作,从而提高了程序的执行效率,但不可以通过调用flush()方法显式地将缓存中的数据输出。
15.下面关于FileInputStream和FileOutputStream的描述错误的一项是()。
A、Java中提供了FileInputStream和FileOutputStream用于从文件中读取信息和向文件中写入信息。
B、FileInputStream和FileOutputStream分别是InputStream和OutputStream的直接子类。
C、在生成FileInputStream和FileOutputStream类的对象时,如果指定的文件找不到,都会产生FileNotFoundException异常,可以不捕获,但必须声明抛出。
D、指定在程序中打开的文件,首先创建一个FileInputStream对象,然后通过其read()方法将文件内容读入定义的字节数组中,然后使用System.out的write()方法将字节数组中的数据输出到控制台。
16.下面说法有误的一项是()。
A、Reader/Writer处理的是字符类型的数据的流,与InputStream/OutputStream不同在于其处理流的方式是以字符为单位进行的。
B、Reader/Writer与InputStream/OutputStream相同,也分为节点流(低级流)和处理流(高级流)。
C、Reader与OutputStream类似,用于向流中写入数据,它们之间的区别在于Writer写入的是字符,而OutputStream写入的是字节。
D、根据流处理的是设备还是其它的流,也可以将Reader分为低级流和高级流。
17.下面说法错误的一项是()。
A、Writer与InputStream相同,用于从流中读取数据,它和InputStream的区别在于InputStream是以字节为单位操作流,而Reader是以字符为单位操作流。
B、根据Writer操作的对象,将其分为低级Writer和高级Writer,低级Writer操纵的是设备,而高级Writer操纵的是其它的流。
C、低级Writer类的CharArrayWriter方法对应于ByteArrayOutputStream,它实现了一个字符类型的缓冲。
D、高级Writer类的OutputStreamWriter方法,它是字符流到字节流之间的桥梁,写入的字符串将根据特定的编码方式转换成字节。
18.下列关于读写随机访问文件(RandomAccessFile)说法有误的一项是()。
A、通过RandomAccessFile,可以向一个文件中追加内容,即在原来文件内容后面添加新写入的内容。
B、RandomAccessFile是一种特殊的文件流,可以用它在文件的任何地方查找或者插入数据。
C、如果使用FileOutputStream,还可以使用其构造器FileOutputStream(Stringfilename,booleanappend)创建文件流,并将其append参数设置为true来创建FileOutputStream对象,也可以达到向文件附加内容而不是替换原来内容的目的。
D、RandomAccessFile只实现了DataOutput接口,因此只能用它来读文件。
19.下列数据流中,属于输入流的一项是()。
A、从网络流向显示器的数据流B、从内存流向硬盘的数据流
C、从键盘流向内存的数据流D、从键盘流向显示器的数据流
20.Java语言提供处理不同类型流的类所在的包是()。
A、java.ioB、java.sqlC、java.utilD、
21.下列程序从标准输入设备读入一个字符,然后再输出到显示器,选择正确的一项填入“//x”处,完成要求的功能()。
importjava.io.*;
publicclassText07_01{
publicstaticvoidmain(String[]args){
charch;
try{
//x
System.out.println(ch);
}
catch(IOExceptione){
e.printStackTrace();
}
A、ch=(char)System.in.read();
B、ch=(int)System.in.read();
C、ch=System.in.read();
D、ch=(char)System.in.readln();
22.下列程序实现了在当前包dir20130424下新建一个目录subDir20130424,选择正确的一项填入程序的横线处,使程序符合要求()。
packagedir20130424;
publicclassText07_02{
publicstaticvoidmain(String[]args){
Filepath=________________________;
if(path.mkdir())
System.out.println("
successful!
"
);
catch(Exceptione){
A、newFile("
dir20130424.subDir20130424"
B、newFile("
dir20130424/subDir20130424"
C、newFile("
dir20130424\subDir20130424"
D、newFile("
subDir20130424"
23.下列流中哪一个使用了缓冲区技术()。
A、FileInputStreamB、BufferedOutputStream
C、FileReaderD、DataOutputStream
24.能读入字节数据进行Java基本数据类型判断过虑的类是()。
A、DataInputStreamB、BufferedInputStream
C、FileReaderD、FileInputStream
25.使用哪一个类可以实现在文件的任意一个位置读写一个记录()。
A、BufferedInputStreamB、FileReader
C、RandomAccessFileD、FileWriter
26.在通常情况下,下列哪个类的对象可以作为BufferedReader类构造方法的参数()。
A、FileInputStreamB、FileReader
C、PrintStreamD、InputStreamReader
27.若文件是RandomAccessFile的实例file,并且其基本文件长度大于0,则下面的语句实现的功能是()。
file.seek(file.length()-1);
A、会导致seek()方法抛出一个IOException异常
B、将文件指针指向文件的第一个字符后面
C、将文件指针指向文件的最后一个字符前面
D、将文件指针指向文件的最后一个字符后面
28.下列关于流类和File类的说法中错误的一项是()。
A、File类可以修改文件内容B、File类可以重命名文件
C、流类不可以新建目录D、流类可以修改文件内容
29.若要删除一个文件,应该使用下列哪个类的实例()。
A、FileB、RandomAccessFile
C、FileReaderD、FileOutputStream
30.下列哪一个是Java系统的标准输入流对象()。
A、System.inB、System.exit
C、System.outD、System.err
2、填空题:
1.Java的输入输出流包括__字节流______、__字符流______、__文件流______、____对象流____以及多线程之间通信的__管道流______。
2.凡是从外部设备流向中央处理器的数据流,称之为____输入____流;
反之,称之为__输出______流。
3.所有的字节输入流都从____InputStream____类继承,所有的字节输出流都从__OUtputStream______类继承。
4.java.io包中的接口中,处理字节流的有__DataInput______接口和__DataOUtput______接口。
5.与用于读写字节流的InputStream类和OutputStream类相对应,Java还提供了用于读写Unicode字符的字符流__reader______类和___writer_____类。
6.对一般的计算机系统,标准输入通常是___keyboard_____,标准输出通常是__显示器______。
7.System类的所有属性和方法都是___static_____类型的,即调用时需要以类名System为前缀。
8.System.in只能从键盘读取____二进制___的数据,而不能把这些比特信息转换为整数、字符、浮点数或字符串等复杂数据类型的量。
9.在计算机系统中,需要长期保留的数据是以___文件_____的形式存放在磁盘、磁带等外存储设备中的。
10.__目录______是管理文件的特殊机制,同类文件保存在同一___目录_____下可以简化文件的管理,提高工作效率。
11.Java语言的java.io包中的____InputStream____类是专门用来管理磁盘文件和目录的。
调用__OutputStream______类的方法则可以完成对文件或目录的常用管理操作,如创建文件或目录、删除文件或目录、查看文件的有关信息等。
12.File类也虽然在java.io包中,但它不是InputStream或者OutputStream的子类,因为它不负责____输入输出____,而专门用来管理___文件和目录_____。
13.如果希望从磁盘文件读取数据,或者将数据写入文件,还需要使用文件输入输出流类____FileinpuStream____和__FileOUtputStream______。
14.利用___datainputstream_____类和__dataoutputstream______类提供的成员方法可以方便地从文件中读写不同类型的数据。
15.Java中的RandomAccessFile类提供了随机访问文件的功能,它继承了__OBject______类,用_datainput_______和____dataoutput____接口来实现。
3、编程题:
1.编写一个程序,其功能是将两个文件的内容合并到一个文件中。
importjava.io.*;
publicclassTest01{
publicstaticvoidmain(String[]args)throwsIOException{
Filefile1=newFile("
c:
\\anjoyo1.txt"
Filefile2=newFile("
\\anjoyo2.txt"
FileInputStreamfis=newFileInputStream(file2);
InputStreamReaderisr=newInputStreamReader(fis);
FileOutputStreamfos=newFileOutputStream(file1,true);
OutputStreamWriterosw=newOutputStreamWriter(fos);
intc;
while((c=isr.read())!
=-1){
osw.write((char)c);
}
isr.close();
osw.close();
}
Filereaderfilereader
1,filereaderread在通过filewriter去write
2,从键盘输入两个文件a.txtb.txtab.txt
最终将两个源文件内容读出,写入到目标新文件中
2.编写一个程序实现以下功能:
1产生5000个1~9999之间的随机整数,将其存入文本文件a.txt中。
②从文件中读取这5000个整数,并计算其最大值、最小值和平均值并输出结果。
Fileinputstreamfileoutputstream
Datainputstream
Dataoutputstream
NewrandomMath.random()*10000
数组交换方法。
全部相加,在除以5000
importjava.io.BufferedReader;
importjava.io.BufferedWriter;
importjava.io.FileOutputStream;
importjava.io.FileReader;
importjava.io.OutputStreamWriter;
publicclassTest02{
publicstaticvoidmain(String[]args)
{
test();
publicstaticvoidtest()
StringtempStr="
;
for(inti=0;
i<
5000;
i++)
doublea=Math.random()*9999;
intaa=(int)a+1;
tempStr+=aa+"
\r\n"
outputData("
\\a.txt"
tempStr);
test1();
publicstaticvoidoutputData(StringfilePath,Stringtex
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AnjoyoJava07 课后 习题 noXML