知识单元八 输入输出流

本文详细解析了Java编程中涉及的文件操作,包括文件流、字节流与字符流的区别,如FileOutputStream、BufferedInputStream、FileInputStream、RandomAccessFile等类的使用,以及如何处理输入/输出流、序列化和异常处理。
摘要由CSDN通过智能技术生成

1.单选题

为了向文件hello.txt尾加数据,下列哪个是正确创建指向hello.txt的流( )

AOutputStream out=new FileOutputStream("hello.txt");

BOutputStream out=new FileOutputStream("hello.txt",true);

COutputStream out=new FileOutputStream("hello.txt",false);

DOutputStream out=new OutputStream("hello.txt",true);

正确答案: B

2.单选题

下列叙述哪个是正确的( )

A创建File对象可能发生异常 

BBufferedRead流可以指向FileInputstream 

CBufferedWrite流可以指向FileWrite

DRandomAccessFile流一旦指向文件,就会刷新该文件 

正确答案: C

3.单选题

字符流与字节流的区别在于(  )

A前者带有缓冲,后者没有

B前者是块读写,后者是字节读写

C二者没有区别,可以互换使用

D每次读写的字节数不同

正确答案: D

4.单选题

下面的程序用来向文件test.txt中输出数据,<br/>

假设程序当前目录下不存在文件test.txt,将该程序运行3次,<br/>

则文件test.txt 的内容是(  )。<br/>

import java.io.*;<br/>

public class Test {<br/>

  public static void main(String args[]) {<br/>

   try {  String s="ABCDE";<br/>

       byte b[]=s.getBytes();<br/>

       FileOutputStream file=new FileOutputStream("test.txt",true);<br/>

       file.write(b);            <br/>

        file.close();<br/>

      } catch(IOException e) {<br/>

       System.out.println(e.toString());<br/>

 } }}

AABCABC

BABCDE

CTest

DABCDE ABCDE ABCDE

正确答案: D

5.单选题

下面哪个流类属于面向字符的输入流( )

AByteArrayInputStream

BFileInputStream

CObjectInputStream

DInputStreamReader

正确答案: D

6.单选题

下面语句的功能是( )。 RandomAccessFile raf2 = new RandomAccessFile("1.txt","rw" );

A打开当前目录下的文件1.txt,既可以向文件写数据,也可以从文件读数据。

B打开当前目录下的文件1.txt,但只能向文件写入数据,不能从文件读取数据。

C打开当前目录下的文件1.txt,但不能向文件写入数据,只能从文件读取数据。

D以上说法都不对。

正确答案: A

7.单选题

下面的程序段创建了BufferedReader类的对象in,以便读取本机c盘my文件夹下的文件1.txt。File构造函数中正确的路径和文件名的表示是( )。
File f = new File(填代码处);
file =new FileReader(f);
in=new BufferedReader(file);

A"./1.txt"

B"../my/1.txt"

C"c:/my/1.txt"

D"c:/ my1.txt"

正确答案: C

8.单选题

如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象()

AFileInputStream

BFileOutputStream

CDataOutputStream

DFileWriter

正确答案: A

9.单选题

FilterOutputStream是BufferedOutputStream、DataOutputStream及PrintStream的父类,以下哪个类可能是FilterOutputStream构造函数的参数类型?

AOutputStream

BFile

CInputStream

DBufferedOutputStream

正确答案: A

10.单选题

下列哪项是用于输入的字符流?

AWriter

BReader

COutputStream

DStream

正确答案: B

11.单选题

在输入流的read方法返回哪个值的时候表示读取结束?

ATrue

B1

C-1

Dnull

正确答案: C

12.单选题

下面哪个不是InputStream类中的方法?

Aintread(byte[])

Bvoidflush()

Cvoidclose()

Dintavailable()

正确答案: B

13.单选题

新建一个流对象,下面哪个选项的代码是错误的?()

Anew BufferedWriter(newFileWriter("a.txt"));

Bnew BufferedReader(new FileInputStream("a.dat"));

Cnew OutputStream(newFileOutputStream("a.zip"));

Dnew ObjectInputStream(new FileInputStream("a.dat"));

正确答案: B

14.单选题

字符流与Byte流的区别是

A二者没有区别,可以互换使用

B前者是字符读写,后者是字节读写

C前者带有缓冲,后者没有

D每次读入的字节数不同

正确答案: B

15.单选题

下列哪项是Java语言中所定义的字节流?

AInputStream

BReader

CWriter

DOutput

正确答案: A

16.单选题

下列叙述中,正确的是

AReader是一个读取字符文件的接口

BReader是一个读取数据文件的抽象类

CReader是一个读取字符文件的抽象类

DReader是一个读取字节文件的一般类

正确答案: C

17.单选题

要串行化某些类对象,这些类就必须实现

ASerializable接口

Bjava.io.Externalizable接口

Cjava.io.DataInput接口

DDataOutput接口

正确答案: A

18.单选题

现有:int x=reader.read();下面哪一项正确?

A阅读器可以是FileReader或者BufferedReader

B阅读器不是FileReader或者BufferedReader类型

C阅读器可以是FileReader类型,但不能是BufferedReader类型

D阅读器可以是BufferedReader类型,但不能是FileReader类型

正确答案: A

19.多选题

关于BufferedReader类的readLine()方法,以下说法正确的是()。

A方法readLine()每次读取一行数据。

B方法readLine()每次读取一个字节。

C该方法可能抛出IOException异常,调用该方法时通常应将它放到try块中,并通过catch块处理异常。

D如果读到流的末尾,该方法返回的结果为null。

正确答案: A,C,D (少选不得分)

20.多选题

下面关于java中输入/输出流的说法正确的是( )。

AFileInputStream与FileOutputStream类用读、写字节流。

BReader与Writer类用来读、写字符流。

CRandomAccessFile既可以用来读文件,也可以用来写文件。

DFile类用来处理与文件相关的操作。

正确答案: A,B,C,D (少选不得分)

21.多选题

下列流中哪写属于字节流(  )

AFileInputStream

BBufferedInputStream

CInputStreamWriter

DInputStreamReader

正确答案: A,B (少选不得分)

22.判断题

输入流的指向称为流的源,输出流的指向称为流的目的地。

正确答案: 正确

23.判断题

FileOutputStream流顺序地写文件,只要不关闭流,每次调用write方法就顺序地向目的地写入内容,指导流被关闭。

正确答案: 正确

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值